程序的变量常量保存问题

程序:

#include<stdio.h>
int main(void)
{
char str[]="abc";
char str1='a';
"efg";

 


printf("%p/n",str);
printf("%c/n",*str);
printf("%c/n",*(str+1));
printf("%c/n",*(str+2));
printf("%c/n",*(str+3));

printf("%p/n","abc");
printf("%c/n",*("abc"+1));
printf("%c/n",*("abc"+2));
printf("%c/n",*("abc"+3));

printf("%p/n",&str1);
while(1);

   
}

结果:0022FF44,a,b,c,  ,00403000,a,c   0022FF43

对于char str[]="abc";

1.从栈里给str[]里分配空间,传一个首地址。

2.从静态存储区给“abc”分配四个字节的空间。

3,然后一一把“abc”赋值str[];

这是个比较特殊的机制。

 

 

问题:

系统给进程分配的常量首地址是多少?大小是多少?

系统给进程分配的栈的所地址是多少?大小是多少?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值