C语言指针定义变量方式

来源:互联网 发布:豪迪qq群发器mac版 编辑:程序博客网 时间:2024/05/16 10:29

用变量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是一个指向函数的指针,该函数有两个整形参数并返回一个指向函数的指针,返回的函数指针指向有一个整型参数且返回一个整型数的函数。 

 


1 0