数组和指针的sizeof的结果 是不同的
- 当arr是一个数组时,sizeof(arr)的结果是整个数组中的元素所占的字节的个数
- 而当p是一个指针时,即使指向某个数组,但sizeof(p)的结果在32为系统中一定是 4
验证代码如下:
/*
数组和指针的sizeof的结果 是不同的
当arr是一个数组时,sizeof(arr)的结果是整个数组所占的字节的个数
而当p是一个指针时,即使指向某个数组,但sizeof(p)的结果在32为系统中一定是 4
*/
#include<stdio.h>
int getSize(int arr[]){
return sizeof(arr);
}
int main(void){
int arr[]={1,2,3,4};
int size1=sizeof(arr);
int *p1=arr;
int size2=sizeof(p1);
int size3=getSize(p1);
printf("%d %d %d",size1,size2,size3);
return 0;
}
程序的运行结果是:16 4 4
最后
以上就是英俊御姐最近收集整理的关于sizeof(数组名)和sizeof(指针名)的结果是不同的的全部内容,更多相关sizeof(数组名)和sizeof(指针名)内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复