char *是什么意思

时间:2011-04-19 01:45:02

标签: c++ c char

所以......说我有这样的功能......

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

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

9 个答案:

答案 0 :(得分:4)

这意味着这是一个指向char类型数据的指针。

答案 1 :(得分:4)

char *c表示c是指针。 c指向的值是一个字符。

所以你可以说char a = *c

另一方面,在此示例中,

const表示无法更改值c指向的值。 所以你可以说c = &a,但你不能说*c = 'x'。如果你想要一个指向const字符的const指针,你必须说const char* const c

答案 2 :(得分:2)

这是一个指向角色的指针。你可能想要读一下C中的指针,那里有大量的页面可以帮助你做到这一点。例如,http://boredzo.org/pointers/

答案 3 :(得分:2)

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

答案 4 :(得分:2)

多出一个pointer-to-char。既然你知道这一点,你应该读到这个:

About character pointers in C

答案 5 :(得分:1)

这意味着参数应该是角色的pointer

您也可以使用*取消引用它。

答案 6 :(得分:1)

您可能需要阅读Const correctness页面以了解指针和常量。

答案 7 :(得分:1)

http://cslibrary.stanford.edu/是我学习C中指针的最佳资源。阅读所有与指针相关的pdf,并观看binky指针视频。

答案 8 :(得分:1)

这是指向char类型的指针。例如,此函数可以获取char的地址并修改char或指向字符串的指针的副本。这就是我的意思:

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

这会传递c的地址,以便该函数可以更改c字符。

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

这会将“某些字符串”传递给f,但f无法修改str

对于c ++来说,这是一个非常基本的东西,即高级语言(如Java或Python)没有。