「C」打印陣列值使用數組的我有以下的數組:與出使用括號
int array[]={0,1,2,3,4};
我需要打印在數組列表中的元素3
不使用方括號中。所以我不應該使用:
printf("%d",array[3]);
如何在不使用方括號的情況下實現相同?
「C」打印陣列值使用數組的我有以下的數組:與出使用括號
int array[]={0,1,2,3,4};
我需要打印在數組列表中的元素3
不使用方括號中。所以我不應該使用:
printf("%d",array[3]);
如何在不使用方括號的情況下實現相同?
你可以只使用*(array + 3)
。這在句法上與array[3]
不同,但功能相同。
表達array + 3
給你陣列(索引號3)在第四元素的地址,適當縮放的元件尺寸。換句話說,這與將元素的地址與&(array[3])
相同。
然後*
解引用提取在(正確類型的),該地址的值。
array[n]
相當於*(array + n)
。
要打印第n個元素,我們知道arr[n-1] == *(arr+n-1)
。正在使用n-1,因爲C中的數組是0索引的。
上了車指針數學一門功課的問題,你呢? – enhzflep
是你的家庭作品...它很好地閱讀一些書之前,問你的問題的答案... –
Wellcome StackOverflow。在這裏提問時請儘量減少工作量。使用本網站或您最喜愛的搜索引擎或閱讀一本好書。 –