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