C语言指针定义变量方式

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/Ang_ie/article/details/51921758

用变量a给出下面的定义:

1、  一个整型数;

int a;

2、  一个指向整型数的指针;

int *a;

3、  一个指向指针的指针,它指向的指针是指向一个整型数;

int **a;

4、  一个有10个整型数的数组;

int a[10];

5、  一个有10个指针的数组,该指针是指向一个整型数的;

int *a[10];

6、  一个指向有10个整型数组的指针;

int (*a)[10];

7、  一个指向函数的指针,该函数有一个整型参数并返回一个整型数;

int (*a)(int);

8、  一个指向数组的指针,该数组有10个指针,每个指针指向一个整型数;

int *(*a)[10];

9、  一个有10个指针的数组,给指针指向一个函数,该函数有一个整型参数并返回一个整型数;

int (*a[10])(int);

10、         一个指向函数的指针,该函数有一个整型参数并返回一个指向函数的指针,返回的函数指针指向有一个整型参数且返回一个整型数的函数;

int (*(*a)(int))(int);


下面的变量a都代表什么含义? 

1)float(**a)[10]; 

(2) double*(*a)[10]; 

(3) double(*a[10])(); 

(4) int*((*a)[10]); 

(5) long(*a)(); 

(6) int(*(*a)(int,int))(int);

(1)a是一个二级指针,该指针指向一个一级指针,这个一级指针指向一个有10个float型元素的数组。 

(2) a是一个指针,该指针指向一个有10个指针元素的数组,每个指针元素指向一个double类型的数据。 

(3)a是一个有10个元素的数组,每个元素都是一个函数指针,该函数指针指向一个没有参数且返回double的函数。 

(4)a是一个指针,该指针指向一个有10个指针元素的数组,每个指针元素指向一个int类型的数据。 

(5)a是一个指向函数的指针,该函数没有参数且返回long。 

(6)a是一个指向函数的指针,该函数有两个整形参数并返回一个指向函数的指针,返回的函数指针指向有一个整型参数且返回一个整型数的函数。 


猜你喜欢

转载自blog.csdn.net/Ang_ie/article/details/51921758
今日推荐