Following the question: How come an array's address is equal to its value in C?
#include #define N 10 char str2[N]={\"Hello\"}; int m
&str2 is a pointer. So you're just seeing the sizeof a pointer on your platform.
&str2