1 #include<stdio.h> 2 int main() 3 { 4 int a[10]; 5 printf("a==%d &a==%d\n",a,&a); 6 printf("a+1==%d &a+1==%d\n",a+1,&a+1); 7 return 0; 8 }
输出如下
a==602356544 &a==602356544
a+1==602356548 &a+1==602356584
其实 a只是表示首个元素的地址,类型是int 内存大小是4 所以+1 内存地址加4
但是&a表示的却是整个数组a的地址 4*10 个大小的数据类型 所以+40
时间: 2024-11-02 23:35:25