是否有一个字符串,如"my examplen"
,得到一个指针到它?例如,&"my examplen"
或&{"my examplen"}
?
编辑:我想问一些基本的问题就是我昨晚没睡的结果。好吧,还是谢谢你的帮助。
它已经是一个指针了:
char *string = "my stringn";
string
将是指向字面值字符串的指针。
已经是地址了
示例:char * addr= "my examplen";
这里,变量addr
保存着字符串的地址。
在您的代码中,字符串常量显示为指针;特别是字符指针char*指向字符串中的第一个字符。
为了更严格:字符串字量为const char[]
类型。然而,const char[]
可以隐式地转换为const char*
。因此,通过赋值
const char* p = "string";
请注意,如果你的下一行是
const char* p1 = "string";
——p1
的值不保证等于p
的值:不同的字符串常量可能有不同的地址(但不需要)。
注意,p
将是指向第一个字符的指针,而不是指向整个字符串的指针。
另一个警告是,你不应该试图获得char*
指针(通过强制转换const
),因为这将导致未定义的行为。例如,编译器可能把字符串字面值放到只读内存中,程序就会崩溃。