我对指针thingy.graduated从指针->指针数组->函数指针->指向指针的指针坐立不安。
这就是我所坚持的……主要是复杂的语法。
可以说我有一个整数数组。
int arr[4] = {1,2,3..};
我也有指针数组
int* ptr[4];
ptr[0] = arr;
这里 ptr[0] 将指向 1 而 ptr[1] 将指向其他位置
这完美!
现在考虑到上述背景,我尝试了这个。
char* crr[4] ={"C","C++","C#","F#"};
char** btr[4];
btr[0] = crr;
作为 btr 的 oth 元素中的指针,它指向 crr 中的另一个指针元素。
然后我尝试了这个。
char* crr[4] ={"C","C++","Java","VBA"};
char** btr[4]= &crr; // Exception: cannot convert char* [4] * to char**[4]
但是当我这样做时它可以工作:O
char* crr[4] ={"C","C++","Java","VBA"};
char* (*btr)[4]= &crr;
我不明白最后两种情况。RHS 上括号的使用请解释。