指针就是一个存放地址的变量,当指针指向某个变量,这时这个指针里就存放了那个变量的地址,同时可以利用指针直接取变量中的值用 只要在指针前加 * 就是取其真值了(也就是被指向的变量的值) 举个例子 int i=0,*p; 声明了一个 int 类型, 变量i和指针p 假设i在内存中所存在的地址为aaaaa(随便写的) p->i 就是使指针p指向i 也就是说 指针p中存放了aaaaa这个地址,当你操作这个p时就是直接操作了aaaaa这个地址中存放的东西 间接操作了变量i, 这就是指针的作用
1.引用数组。
#include<stdio.h> int main() { int *p,i,a[10]; p=a; for(i=0;i<10;i++) *p++=i; p=a; for(i=0;i<10;i++) printf("a[%d]=%d\n",i,*p++);}
2.指向函数。
#include <stdio.h> int fun1(int a , int b) { return a+b ; } int fun2(int (*q)(),int x,int y) { return (*q)(x,y) ; } int main() { int (*p)() , k ; p = fun1 ; k = fun2( p , 8 , 5 ) ; printf("k = %d \n" , k); return 0 ; }