gpt4 book ai didi

c - C中字符串的内存分配将在哪里进行

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

对于下面给出的 C 语句,我想知道内存分配将在哪里进行。

char* ptr="Hello";//ptr is a automatic variable

那么指针变量ptr会被分配到栈上,但是这个字符串“Hello”会分配到哪里呢。它在堆栈上还是在堆上?初始化语句的内存分配怎么样 char ptr[]="你好";

最佳答案

标准没有说明(它不知道“堆栈”、“堆”等)。但实际上答案是:两者都不是。字符串文字将存储在数据部分,通常在只读页面中。

作为旁注,正如 Als 在评论中提到的那样,尝试修改字符串文字是未定义的行为。

关于c - C中字符串的内存分配将在哪里进行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8000432/

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