C 中的类型种类
整数类型大小和范围
注:int类型为2字节还是4字节表没有明确定义,由编译器自行决定,如Turbo C2.0中分配为2字节,而VC中分配为4字节
vs2010输出结果
浮点类型
注:long double类型的存储大小同样和编译器有关,VC++ 分配8字节,Turbo C2.0中分配为16字节
Void 类型
经典面试题
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 (int 修饰后面对数组)
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