簡體   English   中英

char *是什么意思

[英]What does char * mean

所以...說我有這樣的功能......

int function( const char *c )
{
 //do something with the char *c here...
}

char *c是什么意思? 我一般都知道chars,但我不知道*做了什么......或者它是如何改變意義的。

這意味着這是一個指向char類型數據的指針。

char *c表示c是指針。 c指向的值是一個字符。

所以你可以說char a = *c

另一方面,在這個例子中, const表示值c指向不能改變。 所以你可以說c = &a ,但你不能說*c = 'x' 如果你想要一個指向const字符的const指針,你必須說const char* const c

這是一個指向角色的指針。 你可能想要讀一下C中的指針,那里有大量的頁面可以幫助你做到這一點。 例如, http://boredzo.org/pointers/

指向char的指針。 也就是說,它保存了char所在的地址。

這是一個pointer-to-charpointer-to-char 既然你知道這一點,你應該讀到這個:

關於C中的字符指針

這意味着參數應該是指向字符的指針

你也可以用*取消引用它。

您可能需要閱讀Const正確性頁面以獲得關於指針和const的好主意。

http://cslibrary.stanford.edu/是我學習C中指針的最佳資源。 閱讀所有與指針相關的pdf,並觀看binky指針視頻。

這是一個指向char類型的指針。 例如,此函數可以獲取char的地址並修改char或指向字符串的指針的副本。 這就是我的意思:

char c = 'a';
f( &c );

這傳遞了c的地址,以便該函數能夠更改c char。

char* str = "some string";
f( str );

這會將“some string”傳遞給f ,但f不能修改str

對於c ++來說,這是一個非常基本的東西,高級語言(如Java或Python)沒有。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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