如何在C中使用引用操作符获得指向字符串的指针



是否有一个字符串,如"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),因为这将导致未定义的行为。例如,编译器可能把字符串字面值放到只读内存中,程序就会崩溃。

最新更新