接着昨天的数组和指针。。。。。。。
4.数组、函数和指针:
数组指针(也称行指针):指向数组的指针,例如:int(*p)[10];
#include <stdio.h>
int main(void)
{
int (*p)[3];
int i;
int a[3] = {0,1,2};
for(i = 0;i<3;i++)
{
p = a;//p = &a[0];首先它是一个指针,它用指向一个数组,该数组有3个元素;
printf("a[%d] value:%d\n",i,a[i]);
printf("*p[%d] value:%d\n",i,(*p)[i]);
printf("a[%d] address:%p\n",i,&a[i]);
printf("*p[%d] address:%p\n",i,p);
p++;
}
return 0;
}
//在linux下用gcc编译不出来,换了个编译器就好了;相必是gcc要求太严格或版本不支持。。。
//用其他编译器显示的数组的三个元素和数组的头元素的地址
函数指针:指向函数的指针,例如:int(*p)(int);
通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。
函数指针可以像一般函数一样,用于调用函数、传递参数。
#include <stdio.h>
int max(int x, int y)
{
return x