C语言中, 指针变量(指向数组)怎样使其移回第一位

[复制链接]
查看11 | 回复3 | 2010-1-23 11:52:45 | 显示全部楼层 |阅读模式
两种方式:1 在移动的时候,记录移动的偏移量,存在变量n中。这样对于移动后的指针p,计算p-=n;就是将其移动到第一位。2 更常用的方式为,在有此类需要时,运算前保存原始的位置,即定义同类变量p1,指向第一位,比如计算前做p1 = p; 这样在需要移回时,只需要p = p1即可。如果p移动时与原始数组在同一个作用域内,那么也可以直接重新复制p为原始数组名。
回复

使用道具 举报

千问 | 2010-1-23 11:52:45 | 显示全部楼层
有的,看示例:int a[10];int *p ; p=a;要p指向的第i(i>=0 && im_szNum[1]; 或者 (*cp).m_szNum[1];两种方式都可以#include main(){ int a[3]={1,2,3}; int *p; p=a; printf("%d",*(p+1));}最原始的方法,p加几就只向哪一位。不加就指向0位; 移回第一位的问题我也碰到过,可以这样int *q;q=p;然后对p操作,最后p=q;移回来把指针当参数时常有。
回复

使用道具 举报

千问 | 2010-1-23 11:52:45 | 显示全部楼层
把数据下标为0的元素指针赋值给它
回复

使用道具 举报

千问 | 2010-1-23 11:52:45 | 显示全部楼层
补充:你要指向数组的话只能定义一个char类型的指针。例如:char *p;p=cP->m_szNum+n;//(n=0,1,2,...)
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行