从头开始-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的大门了,今天就来讲讲基本的一些数据类型 ...
随机推荐
- C#常用語法糖(Csharp Syntactic sugar)
首先需要声明的是“语法糖”这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换:而且可以提高开发编码的效率,在性能上也不会带来损失.这让java开发人员羡慕不已,呵呵. 1. ...
- WIN7 64位系统安装JDK并配置环境变量
本文来自:http://jingyan.baidu.com/article/3c343ff70bc6ea0d377963df.html 工具/原料 JDK 方法/步骤 首先,下载JDK安装包,到官 ...
- ArcSDE for Oracle表空间管理——暂时(TEMP)表空间
Oracle暂时表空间主要用来做查询和存放一些缓冲区数据.暂时表空间消耗的主要原因是须要对查询的中间结果进行排序. 重新启动数据库能够释放暂时表空间,假设不能重新启动实例,而一直保持问题sql语句的运 ...
- Android得知Scroller(两)——ViewGroup转让scrollTo()
MainActivity例如下列: package cc.ac; import android.os.Bundle; import android.view.View; import android. ...
- 【分割平面,分割空间类题】【HDU1290 HDU2050】
HDU 2050 折线分割平面 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- C++实现20个设计模式
http://c.chinaitlab.com/special/sjms/Index.html 一个月下来,把常见的20个设计模式好好复习并且逐个用C++实现了一遍,收获还是很大的,很多东西看上去明白 ...
- 将mysql服务加入到系统服务中 服务器配置 注销时不会关闭mysql
将mysql加入系统服务中: 或者在cmd中输入:mysql安装路径\mysql\bin\mydqld.exe --install mysql --defaults-file="mysql安 ...
- 手工启动oracle EM
在WINDOWS上安完ORACLE发现没有EM没有启动,在网上找了一个手工启动的方法,试了,在WIN下同样可用. 人家的原文如下: oracle@linux:~> sqlplus/ as sys ...
- 2014年1月9日 Oracle 实用系统函数
1.空值处理 1.1 NVL(column/value,VALUE2) 与SQLSERVER的ISNULL相同 1.2 NVL2(column/value,Value2,Value3) 若参数1为空则 ...
- Spring整合Hibernate 二 - 声明式的事务管理
Spring大战Hibernate之声明式的事务管理 Spring配置文件: 添加事务管理类的bean: <bean id="txManager" class="o ...