簡體   English   中英

C表示法:指向字符數組的指針(字符串)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM