C day1 数据类型1
来源:互联网 发布:冰点文库下载器mac版 编辑:程序博客网 时间:2024/06/08 17:11
在C语言中,数据类型常用的大体分为基本数据类型、指针数据类型、构造数据类型,还有枚举型、空类型。在编程过程中,不同的CPU,其数据类型意义各不相同,所以一定要注意相应变量的数据类型的定义和转换,否则在计算中可能会出现不确定的错误。
一、变量
其值在其作用域内可以改变的量称为变量。变量可以被覆盖、写入、赋值。变量在内存中占据一定的存储空间,不同类型的变量占据的内存空间不同。每个变量必须有一个名字和所在内存空间的绑定。变量名在声明时就和内存中的一地址绑定了,可以通过地址找到其内存区域(后面的指针专门干这个的);变量的值则是变量所对应的尺寸区域内存放的二进制序列,其值不会随着变量的类型的改变而改变(所以强制类型转换能OK),只是printf的样子不同(我还是我只是换了身打扮)。
1.1.1局部变量
C语言中所有的量都有自己的作用域。
局部变量实在函数内做定义说明的起作用仅限于函数内。
有几点要说明:
①主函数也是一个函数,主函数和其他函数是平行关系(同级待遇,都是科员,没有高低之分),这一点和其他一些语言不同。
②形参可以理解为被调函数的局部变量,实参则是属于主函数 的局部变量。
③不同函数可以使用相同的变量名,他们代表不同的对象,分配不同的内存单元(机器不会弄混,但是你就不好说了 :)
④ 在复合语句{}中可以定义变量,其作用域只在复合语句范围内。(哈哈,想不到吧,老师教的时候好像这个没提)
必须举个例子:
第7行由复合语句内定义的k起作用(作用完就释放了),所以输出8;而第10行输出的k应是main所定义的k,应该输出5
1.1.2全局变量
全局变量在函数外定义的变量,它不属于某一个函数,其作用域是整个源程序,但在一个函数之前定义全局变量,在函数内使可不再加以说明。
xy在f1之后,所以xy在f1内无效,ab则在f1、f2、main中不加说明也可使用。
注:在同一源文件中,外部变量和局部变量同名,则在局部变量作用域内,外部变量被屏蔽,不起作用。
1.2 常量
常量的值在其作用域内不会发生改变,也不能被赋值,只能被访问、被读。有点类似const关键字。
1.3 基本内置类型
比较常见而且现阶段常用的类型
内容可参考:
https://wenku.baidu.com/view/8caf58252f60ddccdb38a001.html
https://wenku.baidu.com/view/8eb2f8c8d5bbfd0a7956737a.html
用的时候切记其值的范围!!!避免溢出,特别是有符号的值!!
1.4 static
用static修饰局部变量
变量存放在静态数据区,生命周期持续到整个程序执行结束, 该变量则只在初次运行时进行初始化工作,且只进行一次。如果没有进行初始化则自动赋值0,字符数组赋值“/0”
用static修饰全局变量
全局变量可以在同一个工程其他源文件中被访问(只需要extern声明即可)。
用static修饰函数 和修饰全局变量相似,改变函数作用域。
1.5 extern
一旦修饰变量和函数,表示该变量或函数在其他地方被定义(本源文件或其他源文件),可以实现多源文件共享变量和函数。
- C day1 数据类型1
- C语言day1(数据类型、变量本质)
- C#day1
- Java-Day1-数据类型
- day1 基本数据类型
- C&C++--day1
- python学习-day1-数据类型&数据结构
- JavaSE-day1 关键字 数据类型 常量
- Day1 - C - Plucking fruits
- C语言day1
- C语言复习day1
- C语言:Day1~Day4
- C语言实践--day1
- Day1 C++概述和数据类型笔记
- C-1-数据类型-p5
- Objective-C:Day1~Day2
- C语言学习日志 day1
- 联考1day1总结
- 百度编辑器 单独开发图片上传功能
- Java-多线程
- wordpress 插件 easy video player https://wordpress.org/plugins/easy-video-player/
- IDEA远程调试Hadoop步骤及出错解决整理
- C++内联函数
- C day1 数据类型1
- 性能追踪php站点_使用xhprof + graphviz
- ZOJ1654 Place the Robots
- Java线程:新特征-条件变量
- Kubernetes系列02:Kubernetes配置及参数说明
- (ssl1115)USACO 2.3 货币系统(背包/生成函数)(背包的方案总数)
- 军用软件国家标准
- A + B Problem
- Hopcroft-Karp算法模板(解决二分图最大匹配问题)