从头开始-03.C语言中数据类型
基本数据类型
整形:
|
Int |
4字节 |
%d / %i |
|
Short |
2字节 |
%hd |
|
Long |
8字节 |
%ld |
|
Longlong |
8字节 |
%lld |
|
Unsigned |
4字节 |
% |
浮点型
|
单精度 |
Float |
4字节 |
%f |
|
双精度 |
Double |
8字节 |
%lf |
字符 char 1字节 %c
枚举:当一个变量只用几个固定的取值的时候使用枚举
特点:先定义枚举类型,然后使用枚举类型定义枚举变量
作用:提高代码的可读性,方便程序员之间的交流
注意:枚举类型的实质是整形
枚举定义的每一个成员都代表一个整形常量,默认情况下成员是从0开始,依次递增1.
构造类型
数组:用于存放多个同种类型数据
定义格式:数组类型 数组名称[元素个数]
- 当我们定义的一个数组的时候系统会为这个数组开辟一个连续存储区域
数组名是数组的地址
系统是如何根据下标访问某个元素:首先根据数组的地址计算处理这个元素的地址,然后访问它存储空间 array的地址 + 下标 * 数组类型
结构体:用于存放多个不同数据类型的数据的,若相同的数据类型可以表示特殊含义也使用结构体
结构体作用:让数据结构化
特点:
- 先定义结构体类型 然后在定义结构变量
- 结构体可以嵌套,但是不可以嵌套自己,但可以嵌套自己的指针
- 结构体作为函数参数传递是值传递
- 结构体指针作为函数参数传递是地址传递
指针类型:指针就是地址,有了地址我们可以访问它所指向的存储空间
指针变量:用于的存放地址变量
定义格式:所指向的数据类型 *指针变量名称
*作用:
- 定义变量的时候,它使一个类型说明符,说明定义的这个变量是一个指针变量
- 在非定义的变量的时候,他是一个操作符,访问指针所指向的存储空间
&作用
- 作为单目操作符,它是取出变量的地址
- 作为双目运算符,它使按位与
指针与函数
1、指针作为函数参数传递是地址传递
2、指针函数:返回值为指针的函数
1、不可以返回局部变量的地址
2、可以返回常量的地址
3、可以返回堆中的地址
3、函数指针:指向函数的指针
定义一个函数指针
所指向的函数的返回值类型 (*指针变量名称)(所指向的函数的形参列表)
结构体指针:指向结构体的指针
struct 结构类型名 * 指针变量名称
struct Person{ int age ;};
struct Person p;
struct Person *pp = &p;
pp->age = 20;
字符串:
使用字符数组,存储在栈中,它里面字符是可以修改的
使用字符指针,存储在常量区,它是只读的
总结:
- 所有的数据类型都可以定义变量
- 所有的数据类型都可以作为函数参数
- 所有的数据类型都可以作为函数的返回值
从头开始-03.C语言中数据类型的更多相关文章
- C语言中数据类型的取值范围
C语言中数据类型的取值范围如下:char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned short 0 ~ 65536 (2 ...
- C语言中数据类型的本质
数据类型可以理解为固定内存大小的别名.比如int类型,就是表示占用4字节的内存. 1 数据类型的大小 用sizeof操作符获得数据类型的大小. 比如 int a[5]; sizeof(a)就可以得 ...
- C语言中数据类型和变量
C语言中的数据类型 数据类型的本质,固定大小内存块的别名. 数组名代表数组首元素的地址. 数组首元素的地址,&代表整个数组的地址. 数组数据类型,怎么定义数据数组类型,定义数组类型指针,数组类 ...
- 16.C语言中数据类型的本质含义是:表示一个内存格子的长度和解析方法。
数据类型决定长度的含义:我们一个内存地址(0x30000000),本来这个地址只代表1个字节的长度,但是实际上我们可以通过给他一个类型(int),让他有了长度(4),这样这个代表内存地址的数字(0x3 ...
- C语言中数据类型取值范围的计算的理解与总结
c语言中,数据类型有short,int,long,char,float,double,然后除了浮点型只有 有符号数(signed)外,其他的数据类型都分为有符号(signed)和无符号(unsigne ...
- C语言与java语言中数据类型的差别总结
在学习java的时候,看到char ch = '男' ; 我就觉得很奇怪,char类型不是占用一个字节吗?为什么定义成一个汉字被说成是一个字符了? 原来,在C语言中,char在32位操作系统下占用1 ...
- C语言中数据类型的长度
面试中C里面int长度经常会被问到,下面总结一下作为资料: 首先看看一般规定: 标准c规定,int长度等于机器字长,short的表示范围不能大于int的表示范围,long的表示范围不能小于int的表示 ...
- C语言中数据类型的字节数
类型 16位 32 位 64位 char 1 1 1 short int 2 2 2 int 2 4 4 unsigned int 2 4 4 float 4 4 4 double 8 8 8 lon ...
- Android For JNI(二)——C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器
Android For JNI(二)--C语言中的数据类型,输出,输入函数以及操作内存地址,内存修改器 当我们把Hello World写完之后,我们就可以迈入C的大门了,今天就来讲讲基本的一些数据类型 ...
随机推荐
- 认识SVN
TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录.文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件 服务 ...
- 实现一次请求加载多个js或者css
http://tengine.taobao.org/ 相当牛x
- 代码中实际运用memcached——mycode
1.下载安装64位memcached.exe 下载地址:http://blog.couchbase.com/memcached-windows-64-bit-pre-release-availabl ...
- poj2503--Babelfish(特里一水)
Babelfish Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 32988 Accepted: 14189 Descr ...
- 【Lucene4.8教程之二】索引
一.基础内容 0.官方文档说明 (1)org.apache.lucene.index provides two primary classes: IndexWriter, which creates ...
- PLSQL实例(游标)
在PLSQL块中执行SQL语句 A. 数据定义DDL: create,drop,truncate,不能直接执行,truncate执行时只做数据删除,不写日起,不维护索引 在PLSQL块中执行字符串 ...
- Masstransit开发基于消息传递的分布式应用
使用Masstransit开发基于消息传递的分布式应用 Masstransit作为.Net平台下的一款优秀的开源产品却没有得到应有的关注,这段时间有机会阅读了Masstransit的源码,我觉得我有必 ...
- python连接redis文档001
Installation redis-py requires a running Redis server. See Redis’s quickstart for installation instr ...
- MYSQL SQL Server 事务
开始: start transaction; # 一定要有这个 ‘;’ 号. 注意: MYSQL 用的是快照隔离.就是说一个连接在修改的时候别的连接还是可以查询的. 例子: create t ...
- shell基础——字符串处理(转载)
Shell的字符串处理 1 得到长度 %x="abcd" #方法一 %expr length $x 4 # 方法二 %echo ${#x} ...