从头开始-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的大门了,今天就来讲讲基本的一些数据类型 ...
随机推荐
- ORM框架Hibernate (一) 对DAO封装和抽象
说明 前面已经给大家介绍了Struts这个框架,Struts是对Web项目的表示层进行了封装,而Hibernate是对Web项目中DAO层进行封装,也即是.NET中我们常用到的D层封装,即对访问数据库 ...
- Spring源代码由浅入深系列五 GetBean
获取bean的过程如上图所看到的.下一章将继续图示解说createBean的过程. blog宗旨:用图说话 附:文件夹 Spring源代码由浅入深系列四 创建BeanFactory Spring源代码 ...
- java学习笔记day03
1.二维数组,即一维护 int[][] arr1 = new int[3][2]; int[][] arr2 ={{2,4,3,6,22,7},{3,6,8,9},{10,13,24,5}}; pub ...
- [有向图的强连通分量][Tarjan算法]
https://www.byvoid.com/blog/scc-tarjan 主要思想 Tarjan算法是基于对图深度优先搜索的算法,每个强连通分量为搜索树中的一棵子树.搜索时,把当前搜索树中未处理的 ...
- css系列教程--margin padding column(完结)
margin/margin-left/margin-right/margin-top/margin-bottom设置边距属性margin:0;--所有外边距0margin:0 1px;--margin ...
- mvc 微软票据验证
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- 004 range的用法
- sql 函数 总结
聚合函数 Avg(numeric_expr)返回integer.decimal.money.float---返回组中各值的平均值 Count(*|column_name|distinct column ...
- Hibernate学习——映射关系
学习记录 O(∩_∩)O . 如果你恰巧路过,希望你能停下脚步瞧一瞧,不足之处望指出,感激不尽~ 使用工具: 1.eclipse 2.hibernate压缩包(hibernate_4.3.11) ...
- 从汇编看c++多重继承中this指针的变化
先来看一下下面的c++源码: #include <iostream> using namespace std; class X { public: virtual void print1( ...