| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> C语言基础语法整理 -> 正文阅读 |
|
[C++知识库]C语言基础语法整理 |
3.2.1 常量和变量常量C语言常量分为直接常量和符号常量两种。 直接常量直接常量又分为整型常量,实型常量,字符型常量和字符串常量。 1.整型常量
2.实型常量
3.字符型常量 4.字符串常量
在内存中占用一段连续的存储单元,系统自动在字符串的尾部加上’\0’作为字符串的结束标志,因此,n个字符组成的字符串,在内存中占用n+1个字节空间。可以使用sizeof运算符来计算字符串占用的内存空间大小。 字符串的长度等于该字符串中所包含的有效字符个数.如" Hello World"的长度为10.转义字符可以作为一个字符,如:“Hello World\t"的长度为11。strlen()函数来计算字符串长度。 字符常量和字符串常量在内存中的存储情况是不同的,如‘6’在内存中占1个字节,存储的是ASCII码,而”6“在内存中占2个字节,一个字节存储‘6’,另一个字节存储‘\0’。可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予给一个字符常量,在C语言中,由于没有提供字符串类型的变量,字符串一般用字符数组来解决。 符号常量#define 标识符 常量值 变量常变量(c99)
符号常量不占用内存空间,在预编译时就全部由符号常量的值替换了;而常变量占用内存空间,此变量在存在期间不能重新赋值。 标识符参见文章:C语言编程规范 — 标识符的命名规则 3.2.2 数据类型1 基本类型: 详细内容查看链接:C语言数据类型 第7章 函数7.4 函数声明参见链接:函数声明应该写在什么位置?main函数里面还是前面?、 7.7 数组作函数参数数组元素做函数实参,不能做形参。传递的数组元素的值。 一维数组作函数参数,数组名做函数实参和形参。传递的是数组首元素的地址。所以数组名做函数实参,形参必须是对应的数组名或是指针变量。
数组首地址传给被调用的函数后,由于是地址传递,相当于形参实参的两个数组共用同一段内存单元,所以改变形参的值就会把实参的值改变掉。值传递是不会改变形参的值的,因为形参不会占用内存,只是临时的存储单元。 二维数组名作为实参和形参在对形参数组声明时,必须指定列的大小,且应与实参的列大小相同。
7.8 局部变量和全局变量局部变量优先原则:当局部变量与全局变量同名时,在该函数或者复合语句内,局部变量优先于全局变量。 建议多使用局部变量,因为局部与全局的内存存储方式不同,全局变量存储在全局数据区中,局部变量存储在栈区。局部变量仅仅在使用时才会开辟存储单元,随函数的退出或循环退出就不存在了,而全局变量的生命期和主程序一样,随程序的销毁而销毁。 其次,如果使用了全局变量,会降低程序的可靠性和移植性。违背了程序“高内聚,低耦合”的模块要求。一般要求把C语言的函数要做成一个封闭体,除了“实参—形参”的渠道与外界产生联系以外,没有其他渠道。 最后全局变量的使用会降低程序的清晰性和可阅读性,容易出错。 7.9 变量的存储方式和周期1、auto 自动变量
执行完f函数后,自动释放a,b,c所占的存储单元。关键字auto可以省略,auto不写则隐含定为“自动存储类别”,属于动态存储方式。 2、register 寄存器变量 3、extern 外部变量 [声明]
2)扩展外部变量的作用域到其他文件;
作用域:函数内+函数外,变量值保留,随程序结束再释放。 4、static 静态变量 7.10 内部函数和外部函数内部函数:只能被本文件中其他函数调用,在函数名和函数类型的前面加上 static
运行结果:second.c 外部函数:需要调用其他源文件中的函数,调用外部函数之前,需要在当前源文件中定义外部函数,添加extern关键字。
第8章 指针 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 9:36:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |