c语言中指针与数组
#include <stdio.h>
#include <stdlib.h>
void main()
{
int data[20]={0};
int *p=data;
int i;
for(i=0;i<5;i++)
{
data[i]=i+1;
printf("第%d个元素的值为%d ",i+1,data[i]);
printf("第%d个元素的地址为%p ",i+1,&data[i]);
printf("第%d个元素的值为%d ",i+1,*p);
printf("第%d个元素的地址为%p\n",i+1,p);
(*p)++;
printf("第%d个元素的值为%d ",i+1,*p);
p++;
printf("第%d个元素的地址为%p\n",i+1,p);
printf("\n");
}
}
输出结果解析:
*p为p这个指针所指向地址的内容,即data数据中的元素值
p则为指向数组的指针

方法二:
void main()
{
int i;
int array[20]={0};
for(i=0;i<20;i++)
{
array[i]=i;
int *ptr;//定义一个整形的指针
int *ptr2;定义一个整形的指针
*ptr=array[i];//将第i个元素的值赋值给ptr,*ptr即为第i个元素的值
ptr2=&array[i];//将第i个元素的地址复制给ptr2
printf("值为:%d ",array[i]);
printf("array的地址为:%p ",&array[i]);
printf("ptr的地址为:%p ",ptr2);
printf("ptr的值为:%d\n",*ptr);
}
}

浙公网安备 33010602011771号