NO.90 数组地址
本帖最后由 我爱橙 于 2022-3-5 20:11 编辑Q:若有以下定义int t;能正确表达t数组元素地址的是
A.&t
B.t
C.&t
D.t
为什么答案是D?
B和D不都是访问数组元素吗?
A取整个数组地址?
C取数组首地址?
本帖最后由 傻眼貓咪 于 2022-3-5 21:38 编辑
为什么答案是 D?
解:因为 D 符合正确表达 t 数组元素地址,如下:
#include <stdio.h>
int main() {
int t = {{1, 2}, {3, 4}, {5, 6}};
int* p = t;
printf("%d", *p);
return 0;
}5
B 和 D 不都是访问数组元素吗?
解:不是,B 越界了(因为 t 这里的 3 指的是 3 个元素,即下标 0, 1, 2 从 0 开始),D 是元素地址。
A 取整个数组地址?
解:不是,&t 是取 t 的地址(越界)
C 取数组首地址?
解:不是,正确写法应该是:#include <stdio.h>
int main() {
int t = {{1, 2}, {3, 4}, {5, 6}};
int* q = t; // <----- 注意这里,没有 &
printf("%d", *q);
return 0;
}3
页:
[1]