[英]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-char
的pointer-to-char
。 既然你知道這一點,你應該讀到這個:
您可能需要閱讀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.