*x=y 行是否等于 c 中的 x[0]=y 行

is the line *x=y equal to the line x[0]=y in c

在 c 中,当使用 malloc 分配新的动态内存时:

int* x = (int*)malloc(sizeof(x));
int y = 10;

这一行是:

*x = y;

等于这一行:

x[0] = y;

[]运算符的定义是:给定ex1[ex2],保证等价于

*((ex1) + (ex2))

其中 ex1ex2 是表达式。

你的情况x[0] == *(x + 0) == *(x) == *x.

详情见