当前位置:网站首页>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语言风格的注释不能嵌套注释,嵌套注释会出问题
边栏推荐
猜你喜欢
【带你了解SDN和网络虚拟化】
How to analyze the weekly activity rate?
可复现、开放科研、跨学科合作:数据驱动下的科研趋势及应用方案
Cookie和Session的关系
Yii2安装遇到Loading composer repositories with package information
Small Tools (4) integrated Seata1.5.2 distributed transactions
[Unity Getting Started Plan] Basic Concepts (8) - Tile Map TileMap 01
破解数字化转型困局,企业分析协同场景案例解析
【Unity入门计划】基本概念(6)-精灵渲染器 Sprite Renderer
ReentrantLock详解
随机推荐
袁小林:沃尔沃专注于出行的安全感,并且把它做到极致
When mobile applications go overseas, is your "network optimization" holding back?
参与便有奖,《新程序员》杂志福利来袭!
使用 PowerShell 将 Windows 转发事件导入 SQL Server
【翻译】关于扩容一个百万级别用户系统的六个课程
技术干货|如何将 Pulsar 数据快速且无缝接入 Apache Doris
土耳其国防部:联合协调中心将对首艘乌克兰粮船进行安全检查
mysql delete 执行报错:You can‘t specify target table ‘doctor_info‘ for update in FROM clause
2021年数据泄露成本报告解读
To participate in sweepstakes, incoming new programmers magazine welfare!
30W 2C(JD6606S + FP6652X2)BOM
如何使用MATLAB绘制极坐标堆叠柱状图
MySQL相关介绍
How to get the 2 d space prior to ViT?UMA & Hong Kong institute of technology & ali SP - ViT, study for visual Transformer 2 d space prior knowledge!.
To add digital wings to education, NetEase Yunxin released the overall solution of "Internet + Education"
[微信小程序开发者工具] × #initialize
Detailed ReentrantLock
视频人脸识别和图片人脸识别的关系
STM32的HAL和LL库区别和性能对比
GTK实现旋转加载动画