• @[email protected]
    link
    fedilink
    976 months 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
      386 months 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
        106 months 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
      326 months ago

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

      • @riodoro1
        link
        276 months ago

        Result: one of the most if not the most popular programming languages.

      • @marcos
        link
        56 months ago

        But we need dynamic types!

        …hold my beer…

    • @[email protected]
      link
      fedilink
      76 months 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
        6 months 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
      56 months 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.)