[英]is the line *x=y equal to the line x[0]=y in c
在 c 中,当使用 malloc 分配新的动态 memory 时:
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
。
请参阅指针是否支持“数组样式索引”? 详情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.