1 指向数组的指针:用一个指针指向数组
char *p;
p = a;
p = &a[0];
2 指针的运算
当指针指向数组元素的时候,我们可以对指针变量进行加减运算,这样做的意义相当于指向距离指针所在位置向前或向后第n个元素。
#include <stdio.h>
int main()
{
char a[] = "hahalala"
char *p = a;
printf("*p = %c, *(p+1) = %c, *(p+2) = %c\n", *p,*(p+1),*(p+2));
rteturn 0;
}
3 指针数组和数组指针
(1) 指针数组 :int *p1[5]
指针数组是一个数组,每个数组元素存放一个指针变量
# include<stdio.h>
int main()
{
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int *p[4] = {&a,&b,%c,&d};
int i ;
for(i = 0; i<5; i++){
printf("%d\n", *p[i])
}
return 0;
}
(2)数组指针 int (*p2)[5]
#include<stdio.h>
int main()
{
int temp[5] = {1,2,3,4,5}
int (*p)[5] = &temp;
int i;
for(i = 0; i<5; i++){
printf("%d\n", *(*p +i));
}
}