PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
Re: [问题] 2D array的address
楼主:
KanzakiHAria
(神崎・H・アリア)
2018-04-23 12:50:37
《21世纪C语言》书中提供一个直观的看法。以解析原理来看推荐*偏右。
int a = 2;
int *b = &a;
int c[3];
int d[2][3][4];
结果 a 和 *b 是 int ,同样的逻辑 c[1] 和 d[1][2][3] 是 int
因为历史包袱,取值的方法有一堆手段,千万不要写成以下任何一行的糟糕程式码:
int AAA = *c;
int BBB = *(int*)(void*)d;
int CCC = b[0];
作者:
Lipraxde
(Lipraxde)
2018-04-23 19:54:00
b[0] ← 这样用很糟糕是因为a不是阵列的关系?这样做动态阵列不就颇麻烦的
作者:
LPH66
(-6.2598534e+18f)
2018-04-24 02:55:00
这是在 int *b = &a; 之下的建议, 动态阵列是不一样的东西这其实正是“指标不等于阵列”的真意:它底下是什么东西就要用什么接口去存取当 b 是指向一个变量时用 * 存取, 指向阵列开头时才用 []
作者:
Lipraxde
(Lipraxde)
2018-04-24 10:20:00
原来是在说这个啊,感谢
继续阅读
[问题] 2D array的address
zzss2003
Re: [问题] address operator &
enonrick
[问题] address operator &
zzss2003
[问题] 关于C的读档问题
seblef
[问题] function用char**当参数
wong0101
[问题] CL.exe 以返回码2结束
nicknick0630
[问题] UVA10343 一直 wrong answer ...求救..
saufu08
[问题] 某条thread 卡死怎么拿到 callstack
gigigigi
Re: [问题] big-endian vs little-endian
enonrick
[问题] big-endian vs little-endian
zzss2003
Links
booklink
Contact Us: admin [ a t ] ucptt.com