几道简单的C语言题?

(1)长整型变量=0x12345678,该变量的内存地址是0x100000,问在内存中0x100002,0x100003中存的是什么?(2)int*p1,*p2;P1=(... (1)长整型变量=0x12345678,该变量的内存地址是0x100000,问在内存中0x100002,0x100003中存的是什么?
(2)int*p1,*p2;
P1=(int*)0x800000;
P2=(int*)0x800008;
p1-p2=?
(3)Null和0区别?
(4)Linux 进程调度有那些算法?
(5)可执行二进制文件中分那些段?

请加简单分析....
展开
 我来答
百度网友d3e418b2c
2007-11-13 · TA获得超过2195个赞
知道大有可为答主
回答量:1361
采纳率:0%
帮助的人:1677万
展开全部
(1)0x100002中的是0x34 0x100003中的是0x12
原因是长整型占4个字节,0x100002,0x100003中保存的是前面高位的2个字节,所以分别是0x12 0x34
我用下面这段测试代码可以看到:
#include <stdio.h>
void main()
{
long int a=0x12345678;
char *p=(char *)&a;
printf("%u\n",&a);
printf("%x\n",a);
printf("%u\n",&a+1);
printf("%x\n",*(p+2));
printf("%x\n",*(p+3));
}
(2)p1-p2=-2
这题和上面那题差不多,而且也会因编译器的不同而不同。在我的编译器里int占4个字节,所以他们的差就是8/4=2。如果占2个字节那么就是8/2=4。这个测试代码我就不用写了,抄抄就行。
(3)NULL是空,0是一个int数0,区别比较明显。比如说int a=0;能说a==NULL吗?
gqx2008
2007-11-13
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
1.低地址存放低字节
0x100002中存放 的是56,0x100003是78
3.
null在ascii码中是 \0来表示的
0呢是 \30H 或者\48
0是一个值,null代表空值,
5.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式