c语言之数组详解
Posted oytt
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言之数组详解相关的知识,希望对你有一定的参考价值。
数组首元素区分: a, &a, a[0]
(1) a 作为数组名,代表数组首元素地址;第二个元素地址为a+1, 第n个元素地址为a+n;
(2) 由上可得,数组的元素值; 首元素值*a 相当于 a[0] ; 第二个元素值*(a+1) 相当于a[1],第n个元素值为*(a+n) 相当于 a[n];
(3) 由上可得,数组的首元素地址也可以写为 &a[0] 相当于 a ; 第二个元素地址为&a[1] 相当于 a+1 , 第n个元素地址为 &a[n] 相当于 a+n;
(4) &a 作为数组地址,不同于以上,需要用取地址符&才能得到,且取的是整个数组的地址,&a+1表示指向整个数组的最后面的位置;
(5) &(a+1) 非法语句
#include <stdio.h> int main() { int a[8] = {0}; printf("a 数组首地址:%p ", a); printf("&a[0]数组首地址:%p ", &a[0]); printf("&a 数组首地址:%p ", &a); printf("------------------ "); printf("a+1 数组第二个元素地址:%p ", a+1); printf("&a[1] 数组第二个元素地址:%p ", &a[1]); printf("&a+1 数组最后一个位置:%p ", &a+1); printf("------------------ "); printf("a+8 数组最后一个元素地址:%p ", a+8); printf("&a[8] 数组最后一个元素地址:%p ", &a[8]); printf("&a+1 数组最后一个位置:%p ", &a+1); }
a 数组首地址:0x7ffdd2b194f0
&a[0]数组首地址:0x7ffdd2b194f0
&a 数组首地址:0x7ffdd2b194f0
------------------
a+1 数组第二个元素地址:0x7ffdd2b194f4
&a[1] 数组第二个元素地址:0x7ffdd2b194f4
&a+1 数组最后一个位置:0x7ffdd2b19510
------------------
a+8 数组最后一个元素地址:0x7ffdd2b19510
&a[8] 数组最后一个元素地址:0x7ffdd2b19510
&a+1 数组最后一个位置:0x7ffdd2b19510
以上是关于c语言之数组详解的主要内容,如果未能解决你的问题,请参考以下文章