如何使一个指针循环指向一个数组?

来源:百度知道 编辑:UC知道 时间:2024/05/28 12:20:35
就是怎么样让指针依次从数组首部指到尾部后再回到首部,类似这样进行循环?

我想你说的是一维数组
如下:
int a[10] = {0,1,2,3,4,5,6,7,8,9}; //定义一个10个元素的数组
int *p; //定义一个指向整型元素的指针
int i;
p = a; //指针指向数组首地址
for (i = 0; i < 10; ++i)
{
++p;
//添加其他操作
if (i == 10)
{
p = a;
i = 0;
}
}

我要说明的是:数组名与指针本质是一样的,都是地址
不知你具体要做什么,我大概就说这些,有问题可以交流

数组元素个数是可以求得的,用一个死循环就能实现了
举个char的例子:
char sz[] = "abcdefg";
char* p = &sz[0];
int n = strlen(sz);
for(int i = 0; ; ++i)
{
++p;
if(i == n + 1)
{
p = &sz[0];
i = 0;
}
}

int a[100];*p;
for(;1;)
{if(*p!='\0')p++;
else p=a;}