[英]Accessing value of array using pointers
我們知道我們可以使用指針動態創建變量,例如:
int *p = new int(5);
我們可以使用*
作為訪問它的值
cout << *p;
但這不是數組的情況,請考慮以下代碼:
int size_array = 5;
int * p = new int[size_array];
如果我們需要訪問第一個元素的值,我們執行以下操作:
cout << p[0];
但是為什么我們不能像上面那樣對動態變量做同樣的事情?,即使用*
:
cout << *p[0];
p[0]
是語法糖(用於數組):
*(p + 0)
這相當於:
*p
*p[0]
不起作用,因為它相當於:
**p
換句話說,取消引用指針/數組兩次。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.