概述
数组和指针的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(指针名)的结果是不同的所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复