我不明白为什么会这样:
void main() {
int * b;
b = (int *)malloc(sizeof(int));
*b = 1;
printf("*b = %d\n", *b);
}
虽然这没有(得到分段错误malloc()
):
void main() {
int ** a;
int i;
for (i = 0; i<= 3; i++) {
a[i] = (int*)malloc(sizeof(int));
*(a[i]) = i;
printf("*a[%d] = %d\n", i, *(a[i]));
}
}
因为我发现a[i]
就像b
在第一个例子中一样。
顺便说一句,a[i]
等于*(a+i)
,对吧?