*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))
其中 ex1
和 ex2
是表达式。
你的情况x[0]
== *(x + 0)
== *(x)
== *x
.
详情见。
在 c 中,当使用 malloc 分配新的动态内存时:
int* x = (int*)malloc(sizeof(x));
int y = 10;
这一行是:
*x = y;
等于这一行:
x[0] = y;
[]
运算符的定义是:给定ex1[ex2]
,保证等价于
*((ex1) + (ex2))
其中 ex1
和 ex2
是表达式。
你的情况x[0]
== *(x + 0)
== *(x)
== *x
.
详情见