C语言指针的一个小问题
#include<stdio.h>intmain(intargc,char**argv){inta=3;charc='C';int*p1=&a;char*p2=&c;pr...
#include <stdio.h>
int main(int argc, char **argv)
{
int a = 3;
char c = 'C';
int *p1 = &a;
char *p2 = &c;
printf("&a = %x\n",p1);
printf("&c = %x\n",p2);
return 0;
}
输出结果为
&a = bfaa68a4
&c = bfaa68a3
这是怎么分配的内存呢? 我先定义的a,为什么c的地址更低? 如果是高地址往低地址存储,a是怎么存储的呢? 展开
int main(int argc, char **argv)
{
int a = 3;
char c = 'C';
int *p1 = &a;
char *p2 = &c;
printf("&a = %x\n",p1);
printf("&c = %x\n",p2);
return 0;
}
输出结果为
&a = bfaa68a4
&c = bfaa68a3
这是怎么分配的内存呢? 我先定义的a,为什么c的地址更低? 如果是高地址往低地址存储,a是怎么存储的呢? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询