[英]C notation: pointer to array of chars (string)
為什么指向char
的數組(即string
s)的指針如下所示:
char *path
代替:
char *path[]
或類似的東西?
我怎么能創建一個指向char
而不是string
的指針?
char *path
不是指向字符串的指針,它是指向char
的指針。
可能是char *path
語義上指向“字符串”的情況,但這只是在解釋數據時。
在c中,字符串通常使用char *
,但僅在假設指針指向字符串的第一個字符的情況下,其他字符在內存中后續,直到您到達null終止符。 這並沒有改變它只是一個指向角色的指針的事實。
char *path
是指向char的指針。 它可以用於指向單個char以及指向零終止數組(字符串)中的char
char *path[]
是一個指向char的指針數組。
指向char數組的指針將是char (*path)[N]
,其中N(數組的大小)是指針類型的一部分。 這樣的指針沒有被廣泛使用,因為在編譯時必須知道數組的大小。
char *path[]
是一個指針數組。 char *path
是單個指針。
我怎么能創建一個指向char而不是字符串的指針?
C中的'string'只是一個指向char
的指針,該char
具有以'\\ 0'結尾的字符序列的開頭的約定。 您可以以相同的方式聲明指向單個char
的指針,您只需要根據它實際指向的數據小心使用它。
這類似於C中的char
只是一個范圍相當有限的整數的概念。 您可以將該數據類型用作數字,作為true / false值,或者作為應在某個點顯示為字形的字符。 char
變量中的內容的解釋取決於程序員。
沒有一流的,完整的“字符串”數據類型可以區分C和大多數其他高級語言。 我會讓你自己決定它是以好的還是壞的方式區分C語言。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.