Hacker News new | ask | show | jobs
by gjulianm 4843 days ago
I didn't know that. To answer my previous question, clang doesn't fire a warning when passing pointers of any size to the function foo.

And by the way, nice talk, it's great learning these dark secrets of C.

2 comments

The compiler can't know at compile time with a naked pointer like it can with an array. [static 1] is handy to say it must not explicitly be NULL, as if it were optional, however.
Yes, but I expected some kind of "You're passing a pointer as an array of size n. I can't check the size, but you should make sure you've checked it".
I can't imagine that would be anything but noise. 99% of my function calls have pointers passed through, not arrays.
But a pointer is not the same thing as an array, a pointer does not carry the size of the allocated space which an array does in the same scope.