C语言数据类型(一)——基本知识点

一.什么是数据类型?

数据集合的划分,不同数据类型对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 = &num;

char *ptr = (char *)p;

char *ptr = (char *)malloc(sizeof(char) *100);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值