指针数组和数组指针的区别

来源:互联网 发布:sam软件csp 编辑:程序博客网 时间:2024/06/06 05:30

指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针

数组指针:a pointer to an array,即指向数组的指针


int* a[4]     指针数组     

                 表示:数组a中的元素都为int型指针    

                 元素表示:*a[i]   *(a[i])是一样的,因为[]优先级高于*

int (*a)[4]   数组指针     

                 表示:指向数组a的指针

                 元素表示:(*a)[i] 


1)一个整型数(An integer
2)一个指向整型数的指针(A pointer to an integer
3)一个指向指针的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an
integer

4)一个有10个整型数的数组(An array of 10 integers
5)一个有10个指针的数组,该指针是指向一个整型数的(An array of 10 pointers to
integers

6)一个指向有10个整型数数组的指针(A pointer to an array of 10 integers
7)一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a
function that takes an integer as an argument and returns an integer

8)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一
个整型数(
An array of 10 pointers to functions that take an integer argument and return an integer

答案:
1int a; // An integer
2int *a; // A pointer to an integer
3int **a; // A pointer to a pointer to an integer4int a10; // An array of 10 integers
5int *a10; // An array of 10 pointers to integers
6int (*a)10; // A pointer to an array of 10 integers
7int (*a)(int); // A pointer to a function that takes an integer argument and returns an integer
8int (*a10)(int); //An array of 10 pointers to functions that take an integer argument
and return an integer


0 0
原创粉丝点击