• @[email protected]
    link
    fedilink
    9425 days ago

    Actually void* just points to anything, with no regard to the type of that thing. Pointing to the void is more accurately described by NULL pointer.

    • @[email protected]
      link
      fedilink
      3725 days ago

      Fair, though I guess my interpretation was that void* is kind of like a black hole in that anything can fall into it in an unsettling way that loses information about what it was?

      • Traister101
        link
        fedilink
        1025 days ago

        It erases the type of what your pointing at. All you have is a memory location, in contrast to int* which is a memory location of an int

    • @[email protected]
      link
      fedilink
      3225 days ago

      “Allow me to combine the worst feature of strong typing with the worst feature of dynamic typing”.

    • @[email protected]
      link
      fedilink
      725 days ago

      So, when I want the void to point back at me, do I have to loop over void* or over NULL?
      And how many iterations?

      • @[email protected]
        link
        fedilink
        3
        edit-2
        24 days ago

        as many iterations as it takes

        void* x = &x;
        char* ptr = (char*)&x;
        
        while (1) {
            printf("%d\n", (unsigned int)*ptr);
            ptr--;
        }
        
    • mox
      link
      fedilink
      524 days ago

      In other words, void refers to the typing of the pointer, not a particular value that might be present at its target.

      (But I can see how someone might find it confusing.)