a表示&a[0],也即对数组首元素取地址,a+1表示首地址+sizeof(元素类型)。 &a虽然值为数组首元素地址,但类型为:类型 (*)[数组元素个数],所以&a+1大小为:首地址+sizeof(a)。 还有这篇文章最初提到的指针的指针的那个错误结论,其实即使不懂上述内容,也应该判断出结论是错误的,大家应该在了解数组名即是数组...
1.sizeof(数组名),计算数组的大小,单位字节。答案是16 2.这里数组名没有单独放在sizeof中,所以这里的数组名代表首元素地址,而地址的大小在32位平台下是4个字节,在64位平台下是8个字节,所以本题的答案是4/8 3.数组名表示首元素地址,*数组名表示首元素。这里计算的是首元素的大小,而整型元素不论在32位平台...
在C中, 在几乎所有使用数组的表达式中,数组名的值是个指针常量,也就是数组第一个元素的地址。 它的类型取决于数组元素的类型: 如果它们是int类型,那么数组名的类型就是“指向int的常量指针“。——《C和指针》 在以下两中场合下,数组名并不是用指针常量来表示,就是当数组名作为sizeof操作符和单目操作符&的操...
总的来说,对于C语言中的数组,数组名代表了数组的首元素的地址,对数组名取地址实际上是获取该数组的指针,而不是数组的地址。这一特性在C语言的数组操作中非常常见,并且为指针操作提供了方便。 延伸阅读 c语言数组里可以放变量名么 在C语言中,数组元素可以是任意数据类型,包括基本数据类型、结构体、枚举等。而数组...
在C 语言中,数组名在不同情境下有不同的含义,以下是数组名作为类型、作为地址以及对数组名取地址的区别: 一、数组名作为类型 含义: 数组名可以用来声明数组的类型。例如,int arr[5];中,“int[5]”是数组的类型描述,表示一个包含 5 个整数的数组类型。
对于数组名取地址强制转换的操作 偶然在晚上学了C语言指针后网页闲逛找题时,被一个数组名取地址搞糊涂了,在自己试验加探索后我稍微悟了一点东西。 代码如下: #include<stdio.h> #include<stdlib.h> int main(void) { int a[5] = { 1,2,3,4,5}; ...
可以加取地址符,但是a就表示&a[0],没必要。
数组名称就是地址 在加上取地址 取的是地址的地址 算上双重指针的那种
3回复贴,共1页 <<返回c语言吧求助数组名不就是地址吗,为什么还要加取地址符 只看楼主 收藏 回复 贴吧用户_J7tZ3Rt 酱油 4 六翼幻世 团子家族 10 你带上下标,那就是具体的一个变量了啊 六翼幻世 团子家族 10 你直接写个a,就是往a[0][0]输入了,a+1就是a[0][1] ...
数组名 不是左值 zcllol 强能力者 7 数组名本身就是一个存地址的变量。假定char a[10];int *p=a;这样就会明白,a是一个储存变量地址的变量。它和你定义的地址变量是同种类型的 zcllol 强能力者 7 你这写的就是定义一个地址变量的地址,这是多级指针了 嘤嘤嘤荫 彩虹面包 13 a327380135 彩虹...