假设我有一个数组(函数的本地)和一个指针
char a[]="aesdf" 和 char *b="asdf"
char a[]="aesdf"
char *b="asdf"
我的问题是,在前一种情况下,字符串文字"aesdf"是存储在只读部分,然后复制到本地数组还是类似于
"aesdf"
char a[]={'a','e','s','d','f','\0'}; ?
char a[]={'a','e','s','d','f','\0'};
我认为在这种情况下,字符直接在堆栈上创建,但在前面的case(char a[]="aesdf")中,字符从只读部分复制到本地数组.
在可执行文件的整个生命周期中是否存在"aesdf"?
c c++ arrays
arrays ×1
c ×1
c++ ×1