C语言基础问题:我们程序里定义的字符串常量都是编译后是在内存里分配还是存储在代码区?
#includecharstr1[]="Chinese!"intmain(void){charstr2[]="China!"return0;}经过编译后并下载至微控制器中...
#include
char str1[] = "Chinese!"
int main(void)
{
char str2[] = "China!"
return 0;
}
经过编译后并下载至微控制器中,这个全局变量str1后面的字符串常量是随着代码下载至微控制器中还是在运行时进行分配在RAM内存区?
那么这个局部变量str2字符数组的字符串常量是存储在哪呢?还是运行时分配? 展开
char str1[] = "Chinese!"
int main(void)
{
char str2[] = "China!"
return 0;
}
经过编译后并下载至微控制器中,这个全局变量str1后面的字符串常量是随着代码下载至微控制器中还是在运行时进行分配在RAM内存区?
那么这个局部变量str2字符数组的字符串常量是存储在哪呢?还是运行时分配? 展开
1个回答
2016-01-23
展开全部
是的。只不过初始化char数组的放在栈上,初始化char*的放在rsrc区段(可以拿peid查看)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询