&i+1的意义是什么
在《c 陷阱和缺陷》第35页有这样一句话。
int *ip;
int i;
ip=&i;
*ip=17;
如果ip指向一个整数,那么ip+1指向的是计算机内存中下一个整数,在大多数现代计算机中,它都不同于ip所指向内存的下一个内存位置。
本人编了个小程序测试了下:
main()
{
int i=5;
int *ip=&i;
clrscr();
printf("i = %d, &i = %p, ip=%p, ip+1 = %p, &i+1 = %p, *(ip+1) = %d",
i, &i, ip, ip+1, &i+1, *(ip+1));
getch();
}
在Win2000 Tc2.0中其输出结果是:
i = 5, &i = FFD2, ip=FFD2, ip+1 = FFD4, &i+1 = FFD4, *(ip+1) = -32
根据本程序结果来看,很明显: 如果ip指向一个整数,那么ip+1指向的是ip所指向内存的下一个内存位置。 作者是不是把话说反了,还是PC机是特殊情况?
请诸位大虾赐教!!!!!!!!!!
注: 本人系统Win2000 软件Tc2.0
int *ip;
int i;
ip=&i;
*ip=17;
如果ip指向一个整数,那么ip+1指向的是计算机内存中下一个整数,在大多数现代计算机中,它都不同于ip所指向内存的下一个内存位置。
本人编了个小程序测试了下:
main()
{
int i=5;
int *ip=&i;
clrscr();
printf("i = %d, &i = %p, ip=%p, ip+1 = %p, &i+1 = %p, *(ip+1) = %d",
i, &i, ip, ip+1, &i+1, *(ip+1));
getch();
}
在Win2000 Tc2.0中其输出结果是:
i = 5, &i = FFD2, ip=FFD2, ip+1 = FFD4, &i+1 = FFD4, *(ip+1) = -32
根据本程序结果来看,很明显: 如果ip指向一个整数,那么ip+1指向的是ip所指向内存的下一个内存位置。 作者是不是把话说反了,还是PC机是特殊情况?
请诸位大虾赐教!!!!!!!!!!
注: 本人系统Win2000 软件Tc2.0
...全文
相关推荐
c编写的图书管理系统
c编写的图书管理系统,供大家参考吧,!!
【Java 代码实例 6】FileUtils、StringUtil、CollectionUtils、ArrayUtils(附代码示例)
一、FileUtils private static void fileUtilsTest() { try { //读取文件内容 String readFileToString = FileUtils.readFileToString(new File("D:\\guor\\data\\test20211022000000.txt")); System.out.println(readFileToString); //删除文件夹
1_【C语言指针模拟测试题_答案
c试卷供学习,供大家期末考试或者找工作用吧。
WinCE下管理注册表
WinCE下管理注册表代码,自己封装的WinCE下管理注册表的代码,该代码具有创新性
Windows2000 磁盘I/O API 函数应用举例
Windows2000 磁盘I/O API 函数应用举例 显示驱动器中磁盘的基本信息 磁盘管理


