如何表示数组元素中的数组关系
1个回答
关注
展开全部
输出结果是:
*p = 1, *q = 1
程序中定义了一个一维数组 a,它有 5 个元素,即 5 个变量,分别为 a[0]、a[1]、a[2]、a[3]、a[4]。所以 p=&a[0] 就表示将 a[0] 的地址放到指针变量 p 中,即指针变量 p 指向数组 a 的第一个元素 a[0]。而 C 语言中规定,“数组名”是一个指针“常量”,表示数组第一个元素的起始地址。所以 p=&a[0] 和 p=a 是等价的,所以程序输出的结果 *p 和 *q 是相等的,因为它们都指向 a[0],或者说它们都存放 a[0] 的地址。
咨询记录 · 回答于2022-01-01
如何表示数组元素中的数组关系
您好,您的问题我已经看到了,正在整理答案,请稍等一会儿哦~
亲亲,很高兴能够为您解答,引用数组元素可以用“下标法”,这个在前面已经讲过,除了这种方法之外还可以用指针,即通过指向某个数组元素的指针变量来引用数组元素。数组包含若干个元素,元素就是变量,变量都有地址。所以每一个数组元素在内存中都占有存储单元,都有相应的地址。指针变量既然可以指向变量,当然也就可以指向数组元素。同样,数组的类型和指针变量的基类型一定要相同,希望能帮到您
# include int main(void){ int a[] = {1, 2, 3, 4, 5}; int *p = &a[0]; int *q = a; printf("*p = %d, *q = %d\n", *p, *q); return 0;
输出结果是:*p = 1, *q = 1程序中定义了一个一维数组 a,它有 5 个元素,即 5 个变量,分别为 a[0]、a[1]、a[2]、a[3]、a[4]。所以 p=&a[0] 就表示将 a[0] 的地址放到指针变量 p 中,即指针变量 p 指向数组 a 的第一个元素 a[0]。而 C 语言中规定,“数组名”是一个指针“常量”,表示数组第一个元素的起始地址。所以 p=&a[0] 和 p=a 是等价的,所以程序输出的结果 *p 和 *q 是相等的,因为它们都指向 a[0],或者说它们都存放 a[0] 的地址。
已赞过
评论
收起
你对这个回答的评价是?