使用指针代替数组,因为变量指针可以递增,而数组不能递增,数组可以看成一个指针常量
递增一个指针
#include <stdio.h>
const int MAX = 3;
int main()
{
int var[] = { 10, 100, 200 };
int i, *ptr;
ptr = var;
for (i = 0; i < MAX; i++)
{
printf("储存地址:var[%d] = %p\n", i, ptr);
printf("储存值:var[%d] = %d\n", i, *ptr);
ptr++;
}
system("pause");
return 0;
}
递减一个指针
#include <stdio.h>
const int MAX = 3;
int main()
{
int var[] = { 10, 100, 200 };
int i, *ptr;
ptr = &var[MAX-1];
for (i = MAX; i >0; i--)
{
printf("储存地址:var[%d] = %p\n", i-1, ptr);
printf("储存值:var[%d] = %d\n", i-1, *ptr);
ptr--;
}
system("pause");
return 0;
}
指针的比较
#include <stdio.h>
const int MAX = 3;
int main()
{
int var[] = { 10, 100, 200 };
int i, *ptr;
ptr = var;
i = 0;
while (ptr <=&var[MAX -1])
{
printf("储存地址:var[%d] = %p\n", i, ptr);
printf("储存值:var[%d] = %d\n", i, *ptr);
ptr++;
i++;
}
system("pause");
return 0;
}