从头开始-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的大门了,今天就来讲讲基本的一些数据类型 ...
随机推荐
- ACdream OJ 1153 (k-GCD)
题目链接: http://115.28.76.232/problem?pid=1153 题意: 从给定的n个数中取出k个数,使得他们的最大公约数最大,求这个最大的公约数 分析: 暴力分解不可取,我们能 ...
- react-native 环境配置及hello world
一.前言 最近手头的工作繁多,有研究性的项目和系统研发,正好遇到同事离职,接手了框架的UI组件,不仅需要维护和填坑,还需要开发新的功能组件.因为身在H5-Hybird的框架部门,最近团队开始尝试使用R ...
- .net 链接oracle
虽然EF6都快要出来了,但是对于Oracle数据库,仍然只能用DB first和Model First来编程,不能用Code First真是一个很大的遗憾啊. 好了,废话少说,我们来看看EF中是如何用 ...
- 设置Proxy Server和SQL Server实现互联网上的数据库安全
◆首先,我们需要了解一下SQL Server在WinSock上定义协议的步骤: 1. 在”启动”菜单上,指向”程序/Microsoft Proxy Server”,然后点击”Microsoft Man ...
- 新浪微博iOS示例,登录,获取个人信息
1.导入第三方库和系统框架
- 为什么JavaScript函数中的参数前面不能加var
首先这里是JavaScript的语法规则. 其次在调用function()函数的时候参数时外部传入的.在传入之前就已经被声明了.没必要在函数参数里声明. 如果想要在函数里用新的参数 function( ...
- Java IO 和 NIO
昨天面试问到了有关Java NIO的问题,没有答上来.于是,在网上看到了一篇很有用的系列文章讲Java IO的,浅显易懂.后面的备注里有该系列文章的链接.内容不算很长,需要两个小时肯定看完了,将该系列 ...
- 层次节点——NODE节点
1.html <!DOCTYPE html> <html> <head lang="en"> <meta charset="UT ...
- Mac ssh登陆linux并且显示linux图形
背景: Mac 通过[终端]ssh登陆linux并且在Mac显示linux图形 Mac 主机IP: 10.2.1.1 linux 主机IP: 192.168.1.1 说明: 想要ssh访问并且显示li ...
- 安装eclipse
前提,安装好jdk并成功配置好环境变量 下载eclipse-standard-kepler-R-win32-x86_64,直接打开里面的eclipse.exe文件即可