#include <stdio.h>

[复制链接]
查看11 | 回复5 | 2009-8-3 16:10:21 | 显示全部楼层 |阅读模式
#include
point(char *pi)
{

pi+=3;

printf("%c\n",*pi);



}
void main()
{
char b[4]={'a','b','c','d'},*p=b;

point(p);

printf("%c\n",*p);

}

结果我知道啦请各位高手解释解释

回复

使用道具 举报

千问 | 2009-8-3 16:10:21 | 显示全部楼层
#inclde 是引用头文件#include 如果是调用自己写的头文件的话,就用#include "myheader.h"用到时候,系统从系统路径开始搜索这个头文件.用""的时候,系统从你的工程目录开始搜索.就是说可以加快搜索速度.另外,记住include的实质!.他只是在你include这个头文件的地方,把头文件中的代码复制过来,贴在这个地方.记住了这个实质,后面的很多东西就好理解了....
回复

使用道具 举报

千问 | 2009-8-3 16:10:21 | 显示全部楼层
希望你先把数组指针部分仔细看看因为指针对你以后编程很重要*p=b 把数组的头地址付给p在point(p);pi+=3也就是说pi和p的地址相同 然后 向后+3就相当于pi+=3 和b[3]相同输出d也就是说p=b 时 *(p+0)和b[0]相等*(p+1)和b[1]相等以此类推...
回复

使用道具 举报

千问 | 2009-8-3 16:10:21 | 显示全部楼层
输出 d第一个花括号是定义一个指针函数吧,第二个花括号开始定义一个数组,指针P指向数组第一个元素 a,然后调用POINT以P为形参,P就是指向a的指针,指针+3就是指向d的指针,最后输出*p,这时候指向d,所以输出d...
回复

使用道具 举报

千问 | 2009-8-3 16:10:21 | 显示全部楼层
pi+=3;是把它的地址移动3个位置, point(p);是输出移动后的位置的元素。*p=b;是指b的首地址赋值给pprintf("%c\n",*p);输出入p的首地址了b[0],即a...
回复

使用道具 举报

千问 | 2009-8-3 16:10:21 | 显示全部楼层
#include是调用头文件...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行