您的位置:首页 > 编程语言 > C语言/C++

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言