sizeof(a)与sizeof(a[0])的区别

如题所述

两者区别在于所表示的含义和计算结果不同。
1、sizeof(a)表示的是数组a在内存中所占用的字节数。当数组a被定义时,编译器会根据数组元素的类型和数量计算出数组a所占用的内存大小,然后使用sizeof运算符可以得到这个大小。
2、sizeof(a【0】)表示的是数组a中第一个元素所占用的字节数。在C/C++中,数组名a可以被看作是指向数组第一个元素的指针,因此a【0】就是数组的第一个元素。使用sizeof运算符可以得到这个元素所占用的内存大小。
3、sizeof(a)和sizeof(a【0】)的计算结果可能不同。因为sizeof(a)计算的是整个数组在内存中所占用的字节数,而sizeof(a【0】)只计算数组中一个元素所占用的字节数。
温馨提示:内容为网友见解,仅供参考
无其他回答

sizeof(a)与sizeof(a[0])的区别
两者区别在于所表示的含义和计算结果不同。1、sizeof(a)表示的是数组a在内存中所占用的字节数。当数组a被定义时,编译器会根据数组元素的类型和数量计算出数组a所占用的内存大小,然后使用sizeof运算符可以得到这个大小。2、sizeof(a【0】)表示的是数组a中第一个元素所占用的字节数。在C\/C++中...

int(sizeof(a)\/sizeof(a[0]))是什么意思啊?
sizeof函数如果我没记错的话应该是求属于或者矩阵的大小,所以sizeof(a)就是数组a的大小,那么sizeof(a[0])就是数组a中第0个元素的大小,而属于中每个元素的大小都是一样的啊,因为每个元素类型一样,所以二者相除就是这个数组的长度,那前面那个int就是将这个值的类型由size_t强制转换为短整型int...

sizeof()\/ sizeof()怎么理解?
a[0] 是指第0行的3个元素 因而size of(a[0])=3;最后答案就是 9\/3=3;

#define ARRAY_SIZE(a) (sizeof(a) \/ sizeof((a)[0]))
sizeof是求字节数的,sizeof数组名是数组占用的字节数,sizeof(a[0])是第一个元素的字节数,总数除以一个的大小,就是个数

如何得到一个整型数组的元素个数
sizeof(a)\/sizeof(a[0]),这个求的是来数组总长度,也源就是定义的时候给它分配的,其中a是数组名。学习,是指通过阅读、听讲、思考、研究、实践等途径获得知识和技能的过程。学习分为狭义与广义两种:狭义:通过阅读、听讲、研究、观察、理解、探索、实验、实践等手段获得知识或技能的过程,是一种使...

sizeof(a)和sizeof(*a)是什么意思,为什么值是36和4
a 是一个数组,有9位int型 sizeof(a) 就是 a整个的存储字节数 就是 9*4=36 a相当于a[0] 就是一个存储单元的内容 sizeof(*a) 就相当于 sizeof(int) =4

为什么sizeof(A)与sizeof('A')为什么值不一样?
第一个检查的是A这个变量的大小,而第二个检查的是一个字符'A'的大小。。所以不一样

怎么判断数组的长度
问题一:怎么测数组的长度? sizeof(a)\/sizeof(a[0]) 比较好 strlen是不对的,因为strlen遇到\\0就不计算后面的了,如果你的数组中间有\\0就会返回错误的长度 问题二:C语言中计算数组长度的方法是什么 整形数组大小:sizeof(数组名)\/sizeof(数组类型)。字符数组大小:strlen(数组名)+1,1因为...

C++ 关于size()和sizeof()
sizeof(a)返回的是对象占用内存的字节数,而a.size()是string类定义的一个返回字符串大小的函数,两个是完全不一样的概念。明确两者的概念和作用:1、size()函数:c++中,在获取字符串长度时,size()函数与length()函数作用相同。 除此之外,size()函数还可以获取vector类型的长度。例如:vector <...

int a[100],sizeof(a),sizeof(a[100]),sizeof(&a),sizeof(&a[0])?
sizeof表示的是变量占用字的节数。a本身是个地址,用int存放,占用4个字节。int就是4,a[100]一共是100个int变量,就是400.&a也是个地址值(存放a的地址的空间内存的地址),一个地址用int存放也是4 &a[0]也是个地址,占用4

相似回答
大家正在搜