高级指针

xiaoxiao2021-02-28  12

1.指针数组 形式:char *arr[4] 定义了一个arr数组,而数组里存放的每个元素的类型是一个指向字符/字符串的指针。 理解char *arr[i]   char *(arr[i])是一样的,因为[]优先级高于*

2.数组指针

形式char (*arr)[4] 表示一个指针,并且指向“一个有4个char型元素的数组 3.函数指针: 定义:函数指针是指向函数的指针变量。 形式例:int (*str)(int x, int y);//指针str指向有x和y

两个参数的函数。 返回值类型: ( * 指针变量名) ([形参列表]); 注意:指向函数的指针变量没有++和--运算 4函数指针数组

形式:void test(char* str)

例:void (*arr[5])(char*)//arr[5]中存放的是指针,指向每个指向函数的指针,函数中的参数是char*,返回值为void型。

注意:本质是数组,数组里存放的是函数指针。

5.指向函数指针数组的指针  形式:void test(char* str) 例:void (*(*str)[5])(char*)=&test     //取地址代表是指针 //str是一个指针,指向一个含有5个元素的数组,数组存放的每一个元素为函数指针 注意:指向函数指针数组的指针本质为指针,这个指针指向一个函数指针数组,这个数组中的元素是函数指针函数参数是char*,返回类型是void型

 

转载请注明原文地址: https://www.6miu.com/read-1750330.html

最新回复(0)