C isn’t that hard: void ( *( *f[] ) () ) ()

I just saw a picture today and think I’d appreciate explanations. So here is the picture: I found this confusing and wondered if such codes are ever practical. I googled the picture and found another picture in this reddit entry, and here is that picture: So this “reading spirally” is something valid? Is this how … Read more

Why is ‘this’ a pointer and not a reference?

I was reading the answers to this question C++ pros and cons and got this doubt while reading the comments. programmers frequently find it confusing that “this” is a pointer but not a reference. another confusion is why “hello” is not of type std::string but evaluates to a char const* (pointer) (after array to pointer … Read more

What exactly is a C pointer if not a memory address?

In a reputable source about C, the following information is given after discussing the & operator: … It’s a bit unfortunate that the terminology [address of] remains, because it confuses those who don’t know what addresses are about, and misleads those who do: thinking about pointers as if they were addresses usually leads to grief… … Read more

How come an array’s address is equal to its value in C?

In the following bit of code, pointer values and pointer addresses differ as expected. But array values and addresses don’t! How can this be? Output my_array = 0022FF00 &my_array = 0022FF00 pointer_to_array = 0022FF00 &pointer_to_array = 0022FEFC #include <stdio.h> int main() { char my_array[100] = “some cool string”; printf(“my_array = %p\n”, my_array); printf(“&my_array = %p\n”, … Read more