小编Jef*_*rey的帖子

如何理解C中的指针星*?

我正在努力使用指针符号*,我发现它在声明和表达式中的使用方式非常混乱.

例如:

int *i; // i is a pointer to an int
Run Code Online (Sandbox Code Playgroud)

但是语法背后的逻辑是什么?*之前的*是什么意思?我们来看下面的例子.请纠正我错在哪里:

char **s;
char *(*s); // added parentheses to highlight precedence
Run Code Online (Sandbox Code Playgroud)

这就是我失去轨道的地方.parantheses之间的*s意味着:s是一个指针?但指针是什么?括号外的*是什么意思:指向s指向的指针?

所以这个意思是:指向s指向的指针是指向char的指针?

我不知所措.*符号在声明和表达式中的解释是否不同?如果是这样,它的解释方式有何不同?我哪里错了?

c pointers dereference

35
推荐指数
6
解决办法
6万
查看次数

标签 统计

c ×1

dereference ×1

pointers ×1