-1
A
回答
1
我會盡量用簡單的方式來解釋,(對不起,如果我的英語不是神不夠我正在學習) 讓說你有一個字符數組:
char a[5];
然後你想創建一個指向第一個元素的地址:
char *p = &a[0];
既然對數組的名稱是 初始元素的位置,您可以改寫爲下面的語句的代名詞:
char *p = a;
現在這裏是神奇的發生,作爲前一個字符指針指向你可以做的第一個元素的地址如下: 而不是從[i]中獲取'i'個元素,你可以移動指針'i'來引用地址中包含的值'第i'位然後得到它的值:
char value = *(a + i);
字體(C編程語言第2版,第5章)
2
尚未;它未初始化。
你在問什麼就像問什麼int i;
指的是數字。
0
是的,它指向變量的地址。
如果變量是在函數內部聲明的,則變量可能位於堆棧上,或者如果聲明位於頂層,則位於RAM的頂部。
正如其他答案指出的那樣,您還沒有將它指向任何東西,所以解引用指針可能會導致分段錯誤。
你需要做這樣的事情
char ch;
char *ptr = &ch;
1
char *ptr;
直到它被初始化它不指向任何存儲器地址; 但是你可以用它來指向一個地址。 假設,
int i=0;
i具有在存儲器中的地址。如果它成爲0xFFFF0
然後當你寫
ptr=&i;
然後將鼠標指針指向地址0xFFFF0
。
現在假設,
int array[5]={0};
是一個數組。
然後如果你爲寫
ptr=array;
然後ptr
指向數組的起始地址,因爲數組名是一個地址。
相關問題
- 1. 爲什麼有人需要一個指向指針的指針?
- 2. 我做了什麼?指向指向double的指針的指針?
- 3. 什麼指向一個指針?
- 4. 指針指向一個函數,需要指針參數
- 5. 指向另一個指針的指針 - 會發生什麼?
- 6. 爲什麼說一個2維數組是一個「指向指針的指針?」
- 7. 爲什麼指向一個指針與指向數組的指針不兼容?
- 8. 爲什麼TValue.Make需要一個指向對象引用的指針?
- 9. 爲什麼json.Unmarshal需要一個指向地圖的指針,如果一個地圖是一個引用類型?
- 10. 我需要檢查一個指針是否指向一個math.h函數
- 11. 爲什麼需要鍵入一個指針?
- 12. 爲什麼strtol需要一個指針而不是單個指針?
- 13. 爲什麼這個搜索函數返回一個指向指針的指針?
- 14. 爲什麼需要一個變量指向一個結構
- 15. const指針指向一個const指針
- 16. 我需要一個指針向量上的互斥量嗎?
- 17. 如何將指向char的指針插入指向char的另一個指針
- 18. 爲什麼我們需要一個指向類的指針,如果我們可以實例化它的一個對象並訪問類的成員?
- 19. C++深度複製一個指針指向具有指針值的映射
- 20. 在切換/更改指向的指針變量之前,我需要做什麼?
- 21. 傳遞一個const指針...我需要這樣做嗎?
- 22. 什麼是指向一個函數的指針?
- 23. 的Fortran程序指針指向一個什麼也不做
- 24. C中指向一個字符的指針是什麼?
- 25. 什麼是指向指針的指針?
- 26. 爲什麼投這個指針也改變了指向的值
- 27. 是否有可能有一個指針指向第一個指針所指向的變量的指針?
- 28. 我該怎麼辦的指針指向一個C++接口
- 29. 指南針:爲什麼我需要做一個雙重導入工作?
- 30. C++指向一個類的指針