C语言之数据类型,C语言之数据类型
7.27
sizeof
c语言的操作符,用于计算为数据类型分配的内存的大小,以字节为单位
语法格式:
sizeof(数据类型或者变量);返回类型为: size_t
Demo:
#include
int main(void)
{
int myInt = 100;
size_t nSizeIntVar = sizeof(myInt); //sizeof()很像函数调用,但是一定要记住,sizeof()是运算符
//%lu 表示输出nSizeIntVar这个变量的时候,将其作unsigned
long来解释
printf(“the var myInt’s size is
%lu\n”,nSizeIntVar);
size_t nSizeInt = sizeof(int);
printf(“the Int’s size is
%lu\n”,nSizeInt);
float myFloat = 22.23f; //在字面常量后面加字母f表示,直接说明它是一个float,如果不加f,小数这样的字面常量属于double类型
printf(“the size of float var is
%lu\n”,sizeof(myFloat));
return 0;
}
数据类型
基本数据类型:
整型
字符型[char](占1个字节)
短整型[short int](占2个字节)
整型[int](占4个字节)
长整型[long int](占8个字节)
都分为有符号(siged)和无符号(unsiged)
整型字面值:
源代码直接书写的整型数值就是整型字面值(字面值就是字面值常量的缩写,其特点是指定了自身的值以后,不允许发生改变)
字面值还可以使用八进制表示(在数值前面以0开头)
还可以使用十六进制表示(在数值前面加0x开头)
枚举类类型(enum)
声明枚举类型的格式:
enum 枚举名{枚举值列表,列表以逗号隔开};
EG:
enum
weekDays{Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday};
在枚举中应罗列出所有可能值,这些也称为枚举元素。
枚举元素由系统定义一个从10开始的序号,如果程序员不赋值,第二个元素是上一个元素➕1.
定义一个枚举类型变量,可采用下述任一种:
enum weekDays myWorkDay;
enum weekDays {
Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday }
myWorkDay;
enum {
Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday }
myWorkDay;
对于枚举变量myWorkDay,它的值只能是枚举元素的其中一个,不能超出范围
作用:
枚举类型实际上是整型变量,只不过枚举类型是将一类有关联的标识符组合起来,增加程序的可读性和可维护性
浮点型
单精度[float](占4个字节)
双精度[double](占8个字节)
扩展精度[long double](占16个字节)
数组
相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组
数组是用一个单一的变量表示一个变量列表
是在内存中一块连续的存储单元,数据存在于这些单元中
数组的声明格式:
类型说明符 数组名[常量表达式]
EG:
int a[10]
表示数组名为a,有10个元素,并且每个元素的类型都是int型
注意:
常量表达式要有方括号括起来,不能用圆括号
常量表达式表示数组元素的个数,即数组长度,并且数组的第一个元素是从下标0开始的
常量表达式可以是常量也可以是符号常量,不能包含变量
数组名不能与其他变量名相同
允许在同一个类型说明中,说明多个数组和多个变量
使用数组时要注意,一定要小于定义数组的长度,放置数组溢出
数组名代表数组的地址,数组转化为指针用[]
数组在高地址,变量在低地址
数组初始化:
在定义数组时,对数组元素赋值 eg:int
a[10]={0,1,2,3,4,5,6,7,8,9} ;不能:int a[10];
a[10]={….};
可以只给一部分元素赋值 eg:int
a[10]={0,1,2,3,4};表示只给数组的前5个元素赋初值,后5个元素的值系统自动默认为0
在对全部数组元素赋初值时,可以不指定数组长度 eg:int a[5]={0,1,2,3,4};等于int
a[]{0,1,2,3,4};
数组必须先定义,后使用。只能逐个引用数组元素,而不能一次引用整个数组。
数组的引用形式为:数组名[下标](其中下标可以是整型常量,也可以是整型表达式eg:a[0]=a[5]+a[7]+a[2*3])
数组Demo:
int main(void)
{
int i,j;
int a[10];
for(i = 0;i <= 9;i++) //顺序给数组元素赋初
a[i] = i;
for(j = 0;j <= 9;j++) //顺序输出数组元素
printf(“%d”,a[i]);
return 0;
}
结构体
结构体是聚合类型,结构也是一值的集合,这些值称为它的成员(member),但是一个结构的各个成员可能具有不同的类型。每个结构成员都有自己的名字,它们是通过名字访问的
结构体的声明和定义形式
struct tag {成员列表}
变量列表(成员列表以分号隔开,变量列表以逗号隔开。tag可以省略
定义结构体
typedef:
EG:
struct
{
int age ;
int workExperience;
double salary;
}manager;
typedef
C语言支持一种叫作typedef的机制,它 允许你为各种数据类型定义新名字
EG:
声明:char
*prtToChar;是指变量prtToChar声明为一个指向字符的指针
对于结构体的声明:
typedef struct employee{
int age;
int workExperience;
double salary;
}employeeType;
后续定义雇员结构类型的时候,就可以直接使用这样的方式employeeType
manager
结构体初始化
EG:
struct
{
int age;
int workExperience;
double salary;
}manager = {20,10,15781.33};
注:只有在初始化的时候才能用{}来赋值
结构成员访问方法
结构变量的成员是通过点操作符(.)访问的。点操作符接受两个操作数,左操作数是结构变量的名字,右操作数就是需要访问的成员值
派生数据类型:
联合体(union)
当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体
联合体是一个结构;
它的所有成员相对于基地址的偏移量都为0
union中可以定义多个成员,union的大小由最大的成员的大小决定
由于联合体中的所有成员是共享一段内存的,所以所有成员的首地址都是一样的,一次只能使用其中一个成员
对某一个成员赋值,会覆盖其他成员的值
union的存放顺序是所有成员都从低地址开始存放的
Demo:
#include
int main(void)
{
union{
int a;
char b;
double d;
//char arr[100]; 其结果是104
}myUnion;
//union类型的变量,其成员是共享内存,union类型的变量的大小是其成员最大的那个变量空间
printf(“the size of myUnion is
%lu\n”,sizeof(myUnion));
return 0;
}
聚合类型(如数组和结构)
字符串
字符串就是一串零个或多个字节,并且以一个位模式为全0的NUL字节结尾(\0)
字符串以字符常串常量的形式出现或者存储在字符数组中(字符串是以字符数组存放的)
计算机在储存字符串字面常量的时候,会自动在其末尾添加一个结束\0
附加:
getch():该命令可以在运行的时候按任意键退出,如果没有此命令,有时候屏幕闪一下就没了(程序结束就退出) ‘ ’:是字符
“ ”:是字符串
enum
weekDays myWorkDay;
enum
weekDays
{Monday,Tueaday,Wednesday,Thursday,Friday,Saturday,Sunday}myWorkDay;
enmu{
Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday}myWorkDay;
C语言之数据类型,C语言之数据类型相关推荐
- c语言求两者之间最小数,C语言课件第2章基本数据类型.ppt
C语言课件第2章基本数据类型 第 2 章 基本数据类型 1.标识符 例2.1 常量和变量的使用. #include "stdio.h" #define WIDTH 80 //定义符 ...
- python数据类型-Python语言基本数据类型
本文主要向大家介绍了Python语言基本数据类型,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. python标准数据类型 有六个标准的数据类型: 1.Number(数字) 2.S ...
- 【剑仙教程】易语言的结构体。自定义数据类型。
1楼. [剑仙教程]易语言的结构体.自定义数据类型. 在易语言中,有基本数据类型,自定义数据类型. 自定义数据类型,在C语言/C++中称为结构体.这是面向对象和类的编程. . . 先上代码.打开易语言 ...
- java语言中的数据类型_Java语言中关于数据类型的一些总结
一.Java语言中有两种数据类型 基本数据类型:即int/char等这样的数值类型,共8种 1.byte byte 数据类型是8位.有符号的,以二进制补码表示的整数 范围是-27--(27-1): b ...
- [GO语言基础] 三.变量声明、数据类型、标识符及编程练习12题
作为网络安全初学者,会遇到采用Go语言开发的恶意样本.因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识:另一方面是分享与读者,希望大家一起进步.前文介绍了Go的编译运行 ...
- go 语言系列(二)基本数据类型和操作符
go 从入门到精通(二)基本数据类型和操作符 一.文件名&关键字&标识符 所有go源码都是以.go结尾 标识符以字母或下划线开头,大小写敏感 下划线_是特殊标识符,用户忽略结果 保留关 ...
- 《乐在C语言》一2.2 数据类型
本节书摘来自异步社区<乐在C语言>一书中的第2章,第2.2节,作者 蔡明志,更多章节内容可以访问云栖社区"异步社区"公众号查看 2.2 数据类型 乐在C语言 定义一个变 ...
- 字符串是单一字符的无序组合吗_计算机二级教程 Python语言程序设计 第6章组合数据类型...
第6章组合数据类型 第六章学习知识导图 考点主要是: 1) 组合数据类型的基本概念 2) 列表类型:定义.索引.切片 3) 列表类型的操作:列表的操作函数.列表的操作方法 4) 字典类型:定义.索引 ...
- c语言在一个文件后面添加数据类型,c语言简单入门之简单运行和数据类型
自学遇到前所未有的阻力了.没办法,只有去学习下底层的知识了.于是就学了下c语言,把过程记录下,方便自己复习之用! 初识c语言,什么也不知道,跟着老师敲代码就是,慢慢体会,这是我学习的笨办法,不会的先不 ...
- c语言命名规则_C语言的基本数据类型及变量
学习目标 了解C语言的基本数据类型 了解变量的基本概念 了解变量的使用方法 了解了变量的命名方法 了解格式占位符 了解变量的输出 了解C语言程序的基本数据类型及概念的使用方法擦 在C语言编程中,系统定 ...
最新文章
- EPSON机器人SPLE+语言_简单实例
- 惠普发布软件定义存储 助力提升虚拟化能力
- Bag of Words(BOW)模型
- 线性表算法题库_数据结构与算法(线性表)练习题
- 通过环境变量注入的方式启动SAP Spartacus B2B模块
- LeetCode 2181. 合并零之间的节点(链表)
- .NET C# 群发 HTML格式 带附件 中文发送者 密送 抄送 的邮件
- 会员充值-》解决方案之一
- 洛谷 2017.7月赛解题报告
- 矩孔菲涅尔衍射 matlab,圆孔矩孔的菲涅尔衍射模拟(matlab实现)-工程光学
- 提升交互设计必备的28本好书
- WebEx Recorder
- 第三方支付接口对接基本流程
- MAC装虚拟机显示打不开 /dev/vmmon: 断裂管道 请确保已载入内核模块 ’vmmon’
- 「吕本富」交易的四个阶段
- python空气质量提醒代码_空气质量指数查询示例代码
- 4.分支语句和循环语句
- 用C#WebClient+Server酱写一个监听网站通知的功能
- 【前端之旅】HTML大总结
- 在phpMyAdmin使用用户口令登陆(转)