用变量a给出下面的定义
a) 一个整型数(An integer)
b) 一个指向整型数的指针(A pointer to an integer)
c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer)
d) 一个有10个整型数的数组(An array of 10 integers)
e) 一个有10个指针的数组,该指针是指向一个整型数的(An array of 10 pointers to integers)
f) 一个指向有10个整型数数组的指针(A pointer to an array of 10 integers)
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer)
h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An array of ten pointers to functions that take an integer argument and return an integer )
答案是:
a) int a; // An integer
b) int *a; // A pointer to an integer
c) int **a; // A pointer to a pointer to an integer
d) int a[10]; // An array of 10 integers
e) int *a[10]; // An array of 10 pointers to integers
f) int (*a)[10]; // A pointer to an array of 10 integers
g) int (*a)(int); // A pointer to a function a that takes an integer argument and returns an integer
h) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer
()(小括号) [](数组下标) .(结构成员) ->(指针型结构成员)┃ 最高
────────────────────────────┃ ↑
!(逻辑非) .(位取反) -(负号) ++(加1) --(减1) &(变量地址)┃ │
────────────────────────────┃ │
*(指针所指内容) type(函数说明) sizeof(长度计算) ┃ │
────────────────────────────┃ │
*(乘) /(除) %(取模) ┃ │
────────────────────────────┃ │
+(加) -(减) ┃ │
────────────────────────────┃ │
<<(位左移) >>(位右移) ┃ │
────────────────────────────┃ │
<(小于) <=(小于等于) >(大于) >=(大于等于) ┃ │
────────────────────────────┃ │
==(等于) !=(不等于) ┃ │
────────────────────────────┃ │
&(位与) ┃ │
────────────────────────────┃ │
^(位异或) ┃ │
────────────────────────────┃ │
|(位或) ┃ │
────────────────────────────┃ │
&&(逻辑与) ┃ │
────────────────────────────┃ │
||(逻辑或) ┃ │
────────────────────────────┃ │
?:(?表达式) ┃ │
────────────────────────────┃ │
= += -=(联合操作) ┃ │
────────────────────────────┃ │
,(逗号运算符) ┃ 最低
//