易截截图软件、单文件、免安装、纯绿色、仅160KB

C的指针问题

#include <stdio.h>
#include <stdlib.h>
main(){
int  a[10] = { 5, 4, 9, 1, 10, 7, 8, 3, 2, 6 };
int  *p = a;
int  *pend = a + 10;

for ( ; p < pend ; p++ )
printf("%d  ", *p);
system("PAUSE");
}
*pend=a+10;
这个地方我很不理解,a是数组的首地址,a+10是地址加上10,而p是指针,应为是整形数组整形在内存上是占2个字节的,p++实际上就等于p+2一直加下去,最后的地址结果就是相当于p+20,就是说等于a+20,但是这个程序执行时并未输出一半,而是全部输出这个是为什么呢?

a+1-----往后移动sizeof(int)个字节
p++-----往后移动sizeof(int)个字节

a+ 10= 数组a的首地址10*sizeof(int)

a+ 10= 数组a的首地址加上10*sizeof(int)

a不是一个地址吗?为何不是单单的加上10,而合指针p一样,加上10*sizeof(int)?这个地方很不理解谢谢大家了。

引用
a不是一个地址吗?为何不是单单的加上10,而合指针p一样,加上10*sizeof(int)?这个地方很不理解谢谢大家了。


对比a和p的类型!!

引用
a不是一个地址吗?为何不是单单的加上10,而合指针p一样,加上10*sizeof(int)?这个地方很不理解谢谢大家了。

编译器就所这样做的;如果是float p+10就所地址+sizeof(float);如果是结构体;就所sizeof(struct aa)

引用
a不是一个地址吗?为何不是单单的加上10,而合指针p一样,加上10*sizeof(int)?这个地方很不理解谢谢大家了。


相关问答:

VFP如何调用C函数 - 其他数据库开发 / VFP

请问VFP中如何调用C/C++函数?

你要调用什么功能的函数?要看看VFP中有没有对应的函数,如果有就省着再调用了。如果没有,可以将C/C++函数写个DLL或FLL,然后在VFP调用即可。

十豆三 老师,怎么才能修改自己的 ......

C/C++里屏shift+f10键要怎么写! - C/C++ / C++ 语言

SHIFT加F10与那个键右ctrl边上的那个键功能一样,想屏这个
但不知要怎么写那个组合键!
有没哪个大侠放一段这个的代码或写一段
http://topic.csdn.net/u/20090609/15/7dc9fb70-243f-4070-9cfd-34e48b66e6c6.html ......

C的学习途径 - C/C++ / 新手乐园

我只学过清华蓝封面的C语言基础,想更深入的学习,该看什么书好?
C Primer Plus
C程序设计语言(第2版新版)
C语言程序设计_现代方法
C语言参考手册第五版
C语言大全
C和指针
C陷阱与缺陷
C专家编程

......

c语言实现linux time相关函数 - C/C++ / C语言

现在需要在一个嵌入式系统中实现时间函数,编译器未提供time库函数,请问大家如何用c语言实现时间函数啊?
年月日时分秒 到 整数秒(从1970年开始) 之间的相关转换啊
类似mktime 和localtime的功能,谢谢
mktime ......

请求帮助 用C模拟HTTP通信的问题

请问C++里的用CInternetSession 模拟HTTP发送请求后, 如何获得服务器在浏览器里响应的URL串啊? 
 
 
  就是 服务器会返回一个 页面给我了 而此时浏览器的URL地址也就相当是服务 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号