gpt4 book ai didi

c - c中的指针和内存访问。当心

转载 作者:太空狗 更新时间:2023-10-29 16:20:54 25 4
gpt4 key购买 nike

仍在学习更多 C 语言,有点困惑。在我的引用资料中,我发现了有关分配尚未初始化的指针的注意事项。他们继续举例。昨天有人帮我指点,这里有很好的答案:

Precedence, Parentheses, Pointers with iterative array functions

在跟进时,我简要询问了循环的最后一次迭代,并可能将指针指向一个不存在的地方(即因为我的引用资料警告不要这样做)。所以我回去看了更多,发现了这个:

如果你有指针

int *pt;

然后在不初始化的情况下使用它(即我认为这意味着没有像 *pt= &myVariable 这样的语句):

*pt = 606;

你可能会以糟糕的一天结束,这取决于这个指针在内存中被分配到的位置。我遇到麻烦的部分是在处理一串像这样的字符时没问题:

char *str = "Sometimes I feel like I'm going crazy.";

引用说,“不用担心字符串在内存中的分配位置;它由编译器自动处理”。因此无需说初始化 *str = &str[0];*str = str;。意思是,编译器在后台自动 char str[n];

为什么处理方式不同?或者,我完全误解了吗?

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