当前位置:网站首页>C语言01、数据类型、变量常量、字符串、转义字符、注释
C语言01、数据类型、变量常量、字符串、转义字符、注释
2022-08-03 16:07:00 【列宁格勒的街头】
数据类型
C语言的数据类型有很多种,包括字符数据类型(char)、整型(int)、浮点型(float、double)等等,但是要注意,C语言是没有字符串类型的。
那么,为什么C语言会出现这么多类型呢?
类型的大小可以用sizeof关键字(注意:sizeof是关键字,不是函数)来计算。
为什么C语言要有那么多类型,因为这样可以分别表示生活中不同的东西,不同的数据,整型,字符型,浮点型,不同浮点型不同的精度又可以区分很多数据。
char占一个字节,short占两个字节,int占四个字节,一般来说sizeof(long)>=sizeof(int),有时是4,有时是8,取决于编译器
变量常量
定义变量的方法:
数据类型 变量名 = 初值;
数据类型 变量名;
变量的分类
变量分为全局变量和局部变量
寻找变量遵循就近原则,即出现全局变量和局部变量同名时,根据所处作用域来判断使用全局还是局部。
变量的作用域和生命周期
作用域:一段代码所在的执行区域
局部变量的作用域:变量所在的局部范围
全局变量的作用域:整个工程
生命周期:代码从创建到销毁的时间段
局部变量的生命周期:从进入作用域开始,到作用域生命周期结束为止
全局变量的生命周期:整个程序的生命周期
当没有给全局变量一个初始值时,编译器会默认将其初始化为0,如果是指针,会默认它是空指针。
常量
常量分为一下几种:
1.字面常量
2.const修饰的常变量
3.#define定义的标识符常量
4.枚举常量(enum)
字面常量
3.14;
1000;
'w';
const修饰的常变量
const float pai = 3.14;
pai = 5.14;//这里是不能直接修改的
const修饰的常变量本质是变量,因为它不可以在数组定义时指定大小(C99之前的版本),只是不可以直接修改成其他值而已,但是这并不代表它不可改变,例如上述例子,可以用pai++;来改变pai的值,但是不能pai += 1;
常变量:指具有常属性的变量,但本质是变量
#define定义的标识符常量
#define定义的标识符常量是常量,可以用在数组的定义中
#define可以用来定义常量和宏,但是其定义的宏是无法调试的,并且容易因为优先级导致在不同的地方出现错误。
define:预处理指令,是一个定义符号,宏作替换
枚举常量
enum Sex
{
MALE;//0
FEMALE;//1
SECRET;//2
};
枚举常量默认从0开始,依次向下递增1
字符串
由双引号引起来的淄川字符成为字符串字面值,简称字符串
字符串的结束标志是一个为'\0'的转义字符,在计算字符串长度时(strlen("xxxxx"))不包括'\0',但是sizeof时,算
转义字符
转义字符是指将一些东西转义为另一种意义,例如'\n'就会被转义会换行
注释
C语言风格的注释:/* */
C++风格的注释://
C++风格的注释每次只能注释一行,而C语言风格的注释不能嵌套注释,嵌套注释会出问题
边栏推荐
- 攻防世界----bug
- vector类
- 建造者模式/生成器模式
- 下午见!2022京东云数据库新品发布会
- unity用代码生成LightProbeGroup
- 一文看懂推荐系统:召回02:Swing 模型,和itemCF很相似,区别在于计算相似度的方法不一样
- How much do you know about the intelligent operation and maintenance service of data warehouse based on DMS?
- AI+BI+Visualization, Deep Analysis of Sugar BI Architecture
- Small Tools(4) 整合Seata1.5.2分布式事务
- smp,numa和mpp体系结构总结
猜你喜欢
基于DMS的数仓智能运维服务,知多少?
使用Make/CMake编译ARM裸机程序(基于HT32F52352 Cortex-M0+)
如何使用MATLAB绘制极坐标堆叠柱状图
面了个腾讯35k出来的,他让我见识到什么叫精通MySQL调优
leetcode: 899. Ordered Queue [Thinking Question]
【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01
ffplay视频播放原理分析
Common distributed theories (CAP, BASE) and consensus protocols (Gosssip, Raft)
Research on power flow in DC microgrid based on Newton's method (Matlab code implementation)
我写了个”不贪吃蛇“小游戏
随机推荐
机器人开发--Universal Scene Description(USD)
可复现、开放科研、跨学科合作:数据驱动下的科研趋势及应用方案
ReentrantReadWriteLock详解
使用 PowerShell 将 Windows 转发事件导入 SQL Server
【QT】Qt项目demo:数据在ui界面上显示,鼠标双击可弹窗显示具体信息
高可用版 主数据库数据结构改变 备数据库会自动改变吗
Difference and performance comparison between HAL and LL library of STM32
leetcode-268.丢失的数字
Windows 事件查看器记录到 MYSQL
Leetcode76. Minimal Covering Substring
mysql delete 执行报错:You can‘t specify target table ‘doctor_info‘ for update in FROM clause
Small Tools (4) integrated Seata1.5.2 distributed transactions
Introduction to the advantages of the new generation mesh network protocol T-Mesh wireless communication technology
QT QT 】 【 to have developed a good program for packaging into a dynamic library
TCP 可靠吗?为什么?
Detailed explanation of ReentrantReadWriteLock
AI+BI+Visualization, Deep Analysis of Sugar BI Architecture
深度学习GPU最全对比,到底谁才是性价比之王?
Why do I strongly recommend using smart async?
移动应用出海,你的“网络优化”拖后腿了吗?