浅谈C语言中对数组名取地址-创新互联
对于c语言初学者来说,相信大家在学习数组、指针内容,对二者之间的关系都存在疑惑,数组名相当于指针,任取一个指针,对其赋予数组名,相当于把数组首元素的地址赋予指针,但取数组地址许多人又存在疑问,下面我们来逐步分析:
对于下面数组:

arr和&arr分别是什么?
我们知道arr是数组名,数组名表示数组首元素的地址;
那么&arr是什么?下面我们来看一段代码:

运行结果如下:

得到的结果是二者相同,但结论是否为真?我们再看下面一段代码:

运行结果如下:

为什么+1之后二者结果不同,存在差异?
结论:在之前arr和&arr虽然结果相同,但二者之间的意义却截然不同;
实际上&arr取的是数组的地址,而不是数组首元素的地址;
arr+1指的是加一个元素内存大小(加4),&arr+1指跳过整个数组,即加40,存在本质区别;
相信读者读到这里对数组取地址有了一定了解,所以我们可以知道当arr作为地址赋予指针的时候,是数组首元素的地址被赋予。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网站名称:浅谈C语言中对数组名取地址-创新互联
浏览路径:http://pwwzsj.com/article/dchjih.html