0
A
回答
16
你的前提是錯誤的。第一個是指針類型,第二個是好的......沒什麼,它不是有效的C++(C也不是這個問題)。 靜態數組更像是這樣的:
char var[15];
動態陣列,另一方面通常vectors完成。
數組和指針之間的混亂是從C編程語言,其中*(a+n)
和a[n]
意思是一樣的遺留,所以我們可以使用a[n]
即使a
是一個指針,而不是陣列。這在C++中並不是很習慣。
7
3
這是一個指針:
char* var;
這在語法上是不正確的,將無法編譯:
char var*;
數組和指針在C++ 是不一樣的東西,但語法可能會使它看起來像它們一樣。您可以在C聲明數組++這樣的:
char ary[] = {'a','b','c'};
...這是有效的 - 將有3個元素創建的陣列。
您還可以創建一個函數,它接受一個指針:
void foo(char* bar)
{
// ...
}
......並把它傳遞ary
:
foo(ary);
...,它會編譯並運行良好。這可能會讓你相信指針和數組是相同的東西;但他們不是。 bar
在foo
上面不是數組 - 它是一個指向數組的第一個元素的指針。
+0
值得一提的是,在調用'foo(ary);'時,'ary'衰變爲需要的指針。 – chris
相關問題
- 1. C中的數組指針和指針數組
- 2. C指針指針數組
- 3. 指針數組和指針指向一個數組在C++
- 4. 數組和指針C++
- 5. C指針和數組
- 6. C++指針和數組
- 7. c programmin數組和指針
- 8. C數組和指針
- 9. C++ MovieList數組和指針
- 10. C++指針和數組
- 11. c指針和數組
- 12. 指針和數組在C
- 13. C++ - 指針和數組
- 14. C:指針和數組
- 15. C++ - 指向數組的指針 - 指針
- 16. typedef,C中的數組和指針
- 17. 指針數組和C中的結構
- 18. C++中的指針和字節數組
- 19. 多維數組和C++中的指針?
- 20. C++中的數組指針
- 21. C中的指針數組?
- 22. C++中的數組指針
- 23. C++中數組指針指針
- 24. 使C++中的字符串指針和數組的指針
- 25. C編程。指針數組和指針數組
- 26. 指向數組和二維數組c的指針c
- 27. 指針和指針數組指針
- 28. C中數組指針的數組#
- 29. 指針數組和指針的指針數組
- 30. 指向c中的數組的指針
+1感謝你的幫助 –