一.什么是数据类型?
数据集合的划分,不同数据类型对CPU意义是不一样的
二.数据类型有哪些?
如何定义变量?
*一个整型数
int a;整型变量
*一个指向整型数的指针
int*a;整形指针变量
*一个指向指针的指针,它指向的指针是指向一个整型数的
int **a;整型指针的指针变量
*一个有10个整型数的数组
int a[10];整型数组
*一个有10个指针的数组,该指针指向一个整数
int *a[10];整型指针数组
*一个指向有10个整型数组的指针
int(*a)[10];整型数组指针变量
*一个指向函数的指针,该函数有一个整型参数并返回一个整型数
int(*a)(int);函数指针变量
*一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数
int*a[10](int);函数指针数组
实例:
int *(*(*fp1)(int))[10];
fp1:函数指针变量,该函数指针指向一个形参为int,返回值为数组指针,该数组指针指向一个整型指针数组。
int *(*(arr[5])())();
arr:函数指针数组,该数组的元素指向一个形参为空,返回值为函数指针的函数,该函数指针指向一个形参为空,返回值为整型指针的函数。
float (*(*b())[])();
b:函数,形参为空,返回值为数组指针,该数组指针指向函数指针数组,该数组的元素指向一个形参为空,返回值为float的函数
void *(*c)(char,int (*)());
c:函数指针变量,指向函数形参一个为char,另一个为函数指针,返回值为void*
void **(*d)(int *,char **(*)(char *,char**));
b:函数指针变量,指向函数形参一个为char*,另一个为形参为char*和char**,返回值为char**的函数,返回值为void**
float (*(*e[10])(int *))[];
e:函数指针数组,数组的元素指向一个形参为int*,返回值为浮点型数组指针的函数
三.强制类型转化
隐式类型转化:char < int <float < double
强制类型转化:把表达式的运算结果强制转换成类型说明符所表示的类型。
int num = 5;
int *p = #
char *ptr = (char *)p;
char *ptr = (char *)malloc(sizeof(char) *100);
795

被折叠的 条评论
为什么被折叠?



