RT
举报· 245 次点击
登录 注册 站外分享
16 条回复  
Rickkkkkkk 小成 2024-3-25 19:45:28
说点题外话, 还有别的语言如此令人迷惑吗...
ffire 小成 2024-3-25 19:47:08
int (*foo) [13]: foo 前有星号,被括起来,所以是一个指针,指向的东西是,一个含有 13 个 int 的数组;
int *bar[13]: bar 是一个数组,元素个数是 13 ,每一个元素是指向 int 的指针。
agagega 小成 2024-3-25 19:58:43
https://cdecl.org/
C 的声明方式令人迷惑,一是因为指针符号*在解析中的优先级其实很低,二是因为 C 的声明方式是按照某种解方程的逻辑进行的,比如 int *a[13]的意思是*a[0]的类型是 int
zhouhu 小成 2024-3-25 20:04:07
int (*daytab) [13] 首先是 (*daytab)  是一个指针,(*daytab) [13] 指向的是一个数组,int (*daytab) [13] 数组的每个元素是 int 类型。

int *daytab[13] 首先是 daytab[13]  是一个数组,int *daytab[13]  数组的每个元素是一个 int 指针。
rrfeng 小成 2024-3-25 20:07:45
我看看这里谁嫌弃 go 的声明语法:

foo *[13]int
bar [13]*int
Nosub 小成 2024-3-25 20:14:00
过来人,给你推荐一下,你需要看一本书,日本人写的《征服 c 指针》,一切关于指针的困惑都可以解开 。
lesismal 小成 2024-3-25 20:45:53
有个<让你不再害怕指针>, 好好看下基本就搞定 c 的指针了
pagxir 小成 2024-3-25 20:57:09
第一个是数组指针,第二个指针数组。第一个 sizeof 在 64 位系统里是 8, 第二个是 8x13=104
aklllw 小成 2024-3-25 23:00:23
VS 的代码风格是指针符号靠左吧?在这个问题好理解一些
int* daytab[13]  // int* 类型的数组,数组名是 daytab
12下一页
返回顶部