簡體   English   中英

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

[英]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))

其中ex1ex2是表達式。

在您的情況下x[0] == *(x + 0) == *(x) == *x

請參閱指針是否支持“數組樣式索引”? 詳情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM