|      1Rickkkkkkk      2024-03-25 19:45:28 +08:00  1 说点题外话, 还有别的语言如此令人迷惑吗... | 
|      2ffire      2024-03-25 19:47:08 +08:00  1 int (*foo) [13]: foo 前有星号,被括起来,所以是一个指针,指向的东西是,一个含有 13 个 int 的数组; int *bar[13]: bar 是一个数组,元素个数是 13 ,每一个元素是指向 int 的指针。 | 
|  |      3rookiemaster OP @ffire 第一个是'一个指针,指向的东西是,一个每个元素是 13 个 int 的数组;'吗? | 
|  |      4agagega      2024-03-25 19:58:43 +08:00 https://cdecl.org/ C 的声明方式令人迷惑,一是因为指针符号*在解析中的优先级其实很低,二是因为 C 的声明方式是按照某种解方程的逻辑进行的,比如 int *a[13]的意思是*a[0]的类型是 int | 
|      5zhouhu      2024-03-25 20:04:07 +08:00  1 int (*daytab) [13] 首先是 (*daytab)  是一个指针,(*daytab) [13] 指向的是一个数组,int (*daytab) [13] 数组的每个元素是 int 类型。 int *daytab[13] 首先是 daytab[13] 是一个数组,int *daytab[13] 数组的每个元素是一个 int 指针。 | 
|      6zhouhu      2024-03-25 20:05:59 +08:00  1 | 
|  |      7rrfeng      2024-03-25 20:07:45 +08:00  1 我看看这里谁嫌弃 go 的声明语法: foo *[13]int bar [13]*int | 
|  |      8Nosub      2024-03-25 20:14:00 +08:00 via iPhone  1 过来人,给你推荐一下,你需要看一本书,日本人写的《征服 c 指针》,一切关于指针的困惑都可以解开 。 | 
|  |      9lesismal      2024-03-25 20:45:53 +08:00  1 有个<让你不再害怕指针>, 好好看下基本就搞定 c 的指针了 | 
|  |      10pagxir      2024-03-25 20:57:09 +08:00 via Android 第一个是数组指针,第二个指针数组。第一个 sizeof 在 64 位系统里是 8, 第二个是 8x13=104 | 
|      11aklllw      2024-03-25 23:00:23 +08:00 VS 的代码风格是指针符号靠左吧?在这个问题好理解一些 int* daytab[13] // int* 类型的数组,数组名是 daytab | 
|      12lykhero      2024-03-25 23:04:50 +08:00 去年初学的时候 这个简直是噩梦 即便是看的国外的教材和课堂 | 
|      13kenvix      2024-03-25 23:16:19 +08:00 把 int *bar[13]写成 int* bar [13]吧,这样可以从泛型角度理解为 Pointer<Int> bar [13] | 
|  |      15monkeyNik      2024-03-25 23:23:54 +08:00 8 楼正解,OP 这是遇到面试题了吧 [手动狗头] | 
|  |      16monkeyNik      2024-03-25 23:24:29 +08:00 写错了 10 楼正解 | 
|  |      17ZZSZZSZZS      2024-03-26 09:07:01 +08:00 via iPhone 还是用 std::array 吧 | 
|  |      18PTLin      2024-03-26 09:17:13 +08:00  1 这半个月 v2 上 c 语言的问题好像都是你问的吧,也算弥补了我好久都没在 v2 看到 c 语言帖子的遗憾了。 | 
|  |      19dhb233      2024-03-26 09:34:54 +08:00 每次看到这个就觉得 go 很好,反正每次都记不住,试一下就知道区别了 | 
|  |      20yolee599      2024-03-26 11:13:21 +08:00 via Android 感觉第一个这么写没意义啊,声明不像声明,取值不像取值。要么括号无效,效果等同第二个,要么编译失败。 第二个是声明一个数组,这个数组可以用来装 13 个 int 类型的指针。 |