私はCを学んでいて、次のコードを書きました。
#include<stdio.h>
#include <stdlib.h>
void main(){
double *g = calloc(10, sizeof(double));
double h[] = {1,2,3,4,5,6,7,8,9,10};
printf("Size of g: %d\n", sizeof(g));
printf("Size of h: %d\n", sizeof(h));
}
g
とは両方ともh
長さ10のdouble配列であり、各doubleは8バイトでsizeof(g)
あり、80に等しいはずなので、私は印象を受けています。sizeof(h)
ただし、次の応答があります。
Size of g: 8
Size of h: 80
私が欠けているものと、なぜsizeof(g)
ここに8があるのですか?