网站流,做公司网站需要准备什么,网站怎么做移动端,国外做蛋糕网站一般情况下#xff0c;数组名表示首元素地址#xff0c;以下2种除外#xff1a;
①、sizeof(数组名) 表示整个数组 ※只有数组名的情况 sizeof#xff08;数组名i#xff09; 就不能表示整个数组
②、数组名 表示整个数组#xff0c;取的是整个数…一般情况下数组名表示首元素地址以下2种除外
①、sizeof(数组名) 表示整个数组 ※只有数组名的情况 sizeof数组名i 就不能表示整个数组
②、数组名 表示整个数组取的是整个数组的地址
int main()
{int arr[] { 1,2,3,4,5 };int n sizeof(arr);//整个数组int m sizeof(arr 1);//首元素地址1下一个元素地址仅一个元素printf(%d\n, n);printf(%d\n\n, m);printf(%p\n, arr);//首元素地址printf(%p\n, arr 1);//首元素往后一位的地址printf(%p\n, arr[0]);//首元素地址printf(%p\n, arr[0]1);//首元素往后一位地址printf(%p\n, arr);//全部元素的地址只是只打印了首元素的printf(%p\n, arr1);//跳过整个数组后的第一个元素的地址return 0;
}
结果是
20 4
00AFFE58 00AFFE5C 00AFFE58 00AFFE5C 00AFFE58 00AFFE6C
sizeof是计算占了多少字节byte
可以看出arr 取的是整个数组的地址怎么存放这么多地址呢
用 数组指针 呀~
int (*p)[5]arr;
p和*先结合表示p是指针然后再结合[5]和int 表示是int[5]类型的 指针配合数组
打印结果是多少呢 解释如下
{int a[] { 1,2,3,4 };printf(%d\n, sizeof(a));//16整个数组的大小printf(%d\n, sizeof(a0));//4或8 首元素地址printf(%d\n, sizeof(*a));//4 a是首元素地址解引用找到首元素printf(%d\n, sizeof(a1));//4或8 第二个元素的地址printf(%d\n, sizeof(a[1]));//4 第二个元素printf(%d\n, sizeof(a));//【4或8】 a是整个数组的地址也是个地址//可以理解为数组指针是4或8它俩大小一样printf(%d\n, sizeof(*a));//16 整个数组 a是整个数组的地址解引用后是整个数组//printf(%d\n, sizeof(a1));//【4或8】 也是个地址跳过整个数组printf(%d\n, sizeof(a[0]));//4或8 首元素地址printf(%d\n, sizeof(a[0]1));//4或8 第二个元素地址return 0;
}