以下のプログラムを実行するとなぜか 1 が表示されます。期待している値は8なのですがなぜでしょうか。
c
1#define SIZE 8 2 3#include<stdio.h> 4#include<stdlib.h> 5 6int main() { 7 int *data; 8 int k; 9 data = (int*)malloc(sizeof(int)*SIZE); 10 if (data == NULL) { 11 printf("cannot\n"); 12 exit(0); 13 } 14 k = sizeof(data) / sizeof(data[0]); 15 printf("%d\n", k); 16 free(data); 17}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。