是什么字符*意味着
所以......说我有这样的功能...是什么字符*意味着
int function(const char *c)
{
//do something with the char *c here...
}
是什么char *c
是什么意思?我知道一般我认为的字符,但我不明白*做什么或者它如何改变它的含义。
这意味着这是一个指向char类型数据的指针。
“char类型的指针”是一个不寻常的术语,也许有点混乱。 “指向char的指针”,甚至“类型指向char的指针”会更好。为更好地清晰起见,适当更新了 – 2011-04-19 19:35:00
。谢谢。 – 2011-04-19 19:52:30
指向char的指针。也就是说,它保存了char所在的地址。
char *c
意味着c是一个指针。 c指向的值是一个字符。你可以说char a = *c
。
const
另一方面,在这个例子中说c值指向的值不能被改变。 所以你可以说c = &a
,但是你不能说*c = 'x'
。如果你想要一个const指针指向一个const字符,你必须说const char* const c
。
这是指向char
类型的指针。例如,此函数可以获取char的地址并修改char或指向字符串的指针副本。这就是我的意思是:
char c = 'a';
f(&c);
此经过的c
的地址,这样的功能将能够改变c
字符。
char* str = "some string";
f(str);
这种通过 “一些字符串” 到f
,但f
不能修改str
。
对于C++来说,这是一个非常基本的东西,即更高级的语言(比如Java或Python)所没有的。
这是一个指针。你需要从书本或演讲中学到这些,如果你还没有理解它,那么就不能用几行来解释。 – bdares 2011-04-19 01:47:29
[指针指向C指针的工作方式?](http:// *。com/questions/897366/how-do-pointer-to-pointers-work-in-c) – 2017-05-03 03:00:11