C语言的指针和数组
2018-03-26 21:49
274 查看
一、指针数组
指针数组可以说成是“指针的数组”,这个变量是一个数组,然后“指针”修饰这个数组,即这个数组中的所有元素都是指针类型的。通俗来讲就是:指针数组是数组,是一个存放指针的数组。
二、数组指针
数组指针可以说成是“数组的指针”,这个变量是一个指针,然后“数组”修饰这个指针,即这个指针存放着一个数组的首地址,或者说这个指针指向一个数组的首地址。通俗来讲就是:数组指针是指针,是一个存放数组的指针。
三、函数指针
函数指针其实是指向函数的指针变量,本质上是一个指针变量。即用来保存函数的地址的变量。
值得注意的是:对于函数而言,函数名与去取地址函数名都是该函数的地址。调用函数时可以解引用,也可直接调用。
四、函数指针数组
把函数的地址存到一个数组中,那这个数组就叫函数指针数组。
五、指向函数指针数组的指针
指向函数指针数组的指针 是一个指针,而这个指针指向一个数组,数组的元素都是 函数指针。
void test(const char*str)
{
printf("%s\n", str);
}
int main()
{
//函数指针pfun
void(*fun)(const char*) = test;
//函数指针的数组pfunArr
void(*pfunArr[5])(const char*str);
pfunArr[0] = test;
//指向函数指针数组pfunArr的指针ppfunArr
void((*ppfunArr)[10])(const char*) = &pfunArr;
system("pause");
return 0;
}
指针数组可以说成是“指针的数组”,这个变量是一个数组,然后“指针”修饰这个数组,即这个数组中的所有元素都是指针类型的。通俗来讲就是:指针数组是数组,是一个存放指针的数组。
二、数组指针
数组指针可以说成是“数组的指针”,这个变量是一个指针,然后“数组”修饰这个指针,即这个指针存放着一个数组的首地址,或者说这个指针指向一个数组的首地址。通俗来讲就是:数组指针是指针,是一个存放数组的指针。
三、函数指针
函数指针其实是指向函数的指针变量,本质上是一个指针变量。即用来保存函数的地址的变量。
值得注意的是:对于函数而言,函数名与去取地址函数名都是该函数的地址。调用函数时可以解引用,也可直接调用。
四、函数指针数组
把函数的地址存到一个数组中,那这个数组就叫函数指针数组。
五、指向函数指针数组的指针
指向函数指针数组的指针 是一个指针,而这个指针指向一个数组,数组的元素都是 函数指针。
void test(const char*str)
{
printf("%s\n", str);
}
int main()
{
//函数指针pfun
void(*fun)(const char*) = test;
//函数指针的数组pfunArr
void(*pfunArr[5])(const char*str);
pfunArr[0] = test;
//指向函数指针数组pfunArr的指针ppfunArr
void((*ppfunArr)[10])(const char*) = &pfunArr;
system("pause");
return 0;
}
相关文章推荐
- C语言中数组与指针偏移
- c语言字符串与数组还有指针的总结(1)
- 【嵌入式开发】C语言 内存分配 地址 指针 数组 参数 实例解析
- C语言学习笔记.指针4--数组指针和指向数组的指针变量(一)
- C语言之数组专题:数组指针、指针数组、数组做函数参数退化、数组名、数组类型
- day_13 C语言数组和指针
- C语言-指针、数组、结构体、分支、循环混合使用
- 水滴石穿C语言之指针、数组和函数(转载)
- C语言编程(练习1:数组和指针)
- c语言之指针数组理解二
- 使用python向C语言的链接库传递数组、结构体、指针类型的数据
- C语言的指针和数组
- 深入理解C语言中的指针与数组之指针篇
- C语言中字符数组和字符串指针分析
- C语言 通过指针访问一维数组,二维数组,三维数组。
- C语言——数组与指针
- C语言通过指针和数组实现字符串倒序
- C语言中指针和数组的总结
- C语言 结构体相关 函数 指针 数组
- C语言字符指针和字符数组