gpt4 book ai didi

c - 在C中初始化字符串指针有什么意义

转载 作者:行者123 更新时间:2023-12-02 08:29:55 24 4
gpt4 key购买 nike

这是我的问题。在 C 中,我看到这样的代码:

char *s = "this is a string";

但是,s 实际上并没有指向一个实际的内存,对吧?如果您尝试使用 s 修改字符串,结果是未定义的。

我的问题是,将字符串分配给指针有什么意义那么呢?

谢谢。

最佳答案

char *s = "this is a string";

这是一个字符串文字。因此字符串存储在只读位置,并且该内存地址返回给 s 。因此,当您尝试写入只读位置时,您会看到未定义的行为并且可能会发生崩溃。

Q1:s is not actually pointing to an actual memory right?

你错了 s 保存的是存储这个字符串的内存地址。

Q2:what is the point of assigning a string to the pointer then?

http://en.wikipedia.org/wiki/String_literal

关于c - 在C中初始化字符串指针有什么意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28209379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com