指针 指针数组 指针数组的指针 数组指针 数组指针的数组 函数指针 指向函数指针数组的指针
2017-05-24 22:30
501 查看
指针是c语言的灵魂所在,然而因为其过于灵活,在使用的过程中难免出错。接下来我们简单分析一下常见的指针运用。
指针:
1 一级指针
char *p1 = “abcdef”;
2 二级指针
char **p2 = &p1;
指针数组:
1 char *arr[5] ; (在数组中存放5个char* 指针)
指针数组指针
1 char* arr[5];
char * (*parr)[5] = &arr;
parr就是指向指针数组arr的指针 (即parr为指针数组的指针)
数组指针:
1 int arr[5] = {1,2,3,4,5};
int (*p)[5] = &arr ; p即为指向数组的指针,又称数组指针。
数组指针的数组:
int arr1[3] = {1,2,3};
int arr2[3] = {4,5,6};
int (*parr[2])[3]={arr1,arr2};
函数指针:
先写一个简单的函数
int add(int x, int y)
{
return x+y;
}
int (*pfun)(int, int);
pfun = add;
这样一来 pfun就是指向函数add的指针(即函数add的指针)。
下面是定义一个函数指针的方法:
指向函数指针数组的指针:
函数指针数组也是指针数组,在这个数组中存放的是函数的指针
eg: 我们先写加减乘除四个子函数。
int (*pfunarr[4])(int, int) = {add, sub, mul, div};//这个数组就是函数指针数组 pfunarr就是指向函数指针数组的指针
指针:
1 一级指针
char *p1 = “abcdef”;
2 二级指针
char **p2 = &p1;
指针数组:
1 char *arr[5] ; (在数组中存放5个char* 指针)
指针数组指针
1 char* arr[5];
char * (*parr)[5] = &arr;
parr就是指向指针数组arr的指针 (即parr为指针数组的指针)
数组指针:
1 int arr[5] = {1,2,3,4,5};
int (*p)[5] = &arr ; p即为指向数组的指针,又称数组指针。
数组指针的数组:
int arr1[3] = {1,2,3};
int arr2[3] = {4,5,6};
int (*parr[2])[3]={arr1,arr2};
函数指针:
先写一个简单的函数
int add(int x, int y)
{
return x+y;
}
int (*pfun)(int, int);
pfun = add;
这样一来 pfun就是指向函数add的指针(即函数add的指针)。
下面是定义一个函数指针的方法:
指向函数指针数组的指针:
函数指针数组也是指针数组,在这个数组中存放的是函数的指针
eg: 我们先写加减乘除四个子函数。
int (*pfunarr[4])(int, int) = {add, sub, mul, div};//这个数组就是函数指针数组 pfunarr就是指向函数指针数组的指针
相关文章推荐
- [转] 彻底了解指针数组,数组指针,以及函数指针,以及堆中的分配规则
- 指针数组 数组指针 函数指针 堆中分配
- 指针数组与数组指针
- 数组指针 与 指针数组
- 数组指针与指针数组
- 指针数组和数组指针
- 彻底了解指针数组,数组指针,以及函数指针 .
- C程序设计语言--指针与数组(二) 指针数组 数组指针 函数指针 指针函数
- 变量、指针变量、指针数组、数组指针、函数指针、函数指针数组
- 指针数组 数组指针 函数指针
- 指针数组,数组指针,函数指针,main函数实质,二重指针,函数指针作为参数,泛型函数
- 彻底了解指针数组,数组指针,以及函数指针,以及堆中的分配规则(转)
- 数组指针和指针数组的区别
- 数组指针和指针数组的区别
- 数组指针和指针数组的区别
- 数组指针和指针数组的区别
- C++中的指针、数组指针与指针数组、函数指针与指针函数
- 指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针
- C语言中指针数组和数组指针
- 数组指针与指针数组