前言
本文用来记录自己的学习过程,主要是c语言指针中的指针数组和数组指针。
指针学习记录
指针数组
指针数组意思是指针的数组。它是一个数组,数组中的元素存放的是多个变量的指针(地址),即多个变量地址的集合。
指针数组测试
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[3]={1,2,3};
int i;
int*parray[3];
parray[0]=&a[0];
parray[1]=&a[1];
parray[2]=&a[2];
for(i=0;i<3;i++)
{
printf("数组的第%d个元素是:%d\n",i+1,*parray[i]);
}
system("pause");
return 0;
}
数组指针
数组指针意思是数组的指针。它是真正指向数组的类型以及大小,之前学习的指针都仅仅是一个整形数的指针,可以用来调用数组的内容是因为它恰好是数组首元素的地址。
数组指针测试
#include <stdio.h>
#include <stdlib.h>
int main()
{
int array[3]={1,2,3};
int(*p)[3];
int*a;
a=&array[0];
p=array;
printf("直接取地址:数组array的地址是%p\n",array);
printf("直接取地址:数组array的地址是%p\n",&array[0]);
printf("整形指针:数组array的地址是%p\n",a);
printf("数组指针:数组array的地址是%p\n",p);
printf("============++p、++a后=============\n");
printf("++p之后的地址为:%p\n",++p);
printf("++a之后的地址为:%p\n",++a);
system("pause");
return 0;
}