重複の可能性:
C のポインターと文字列に関する質問
#include<stdio.h>
int main()
{
char *str1="abcd";
char str2[]="abcd";
printf("%d %d %d\n",sizeof(str1),sizeof(str2),sizeof("abcd"));
return 0;
}
なぜこのコードは、理想的には文字列へのポインターのようなものである場合でも、同じ答えsizeof(str2)
を返すので、答えは4 4 5になるはずですsizeof("abcd")
str2
str1
Ideone のコード: http://ideone.com/za8aV
答え: 4 5 5