首先,我要告诉你static与extern是一对“水火不容”的家伙,也就是说extern和static不能同时修饰一个变量;其次,static修 饰的全局变量声明与定义同时进行,也就是说当你在头文件中使用static声明了全局变量后,它也同时被定义了;最后,static修饰全局变量的作用域 只能是本身的编译单元,也就是说它的“全局”只对本编译...
Text 复制代码 9 1 2 3 codevoid print(const string& str) { cout << str << endl;} 成员函数 在类的成员函数中,其实会默认传入一个 this指针 如果函数不会修改成员变量的值,可以在函数声明和定义中使用 const 关键字,从而使其成为常量成员函数。例如: Plain Text 复制代码 9 1 2 3 4 ...
int i;就是定义,是开辟了4个字节的存储空间。 int a = 10;在定义变量的同时给变量赋值,称为初始化。 变量分为全局变量和局部变量,怎么理解呢? 通俗地看,全局变量就是{}外的变量,局部变量就是{}内的变量。 总结 本节给大家详细介绍了变量和常量,其中变量分为全局...
1.局部变量:只在变量所定义的作用域内有效,所有的局部变量是自动变量,即自动创建,自动消除,关键字为:auto,但这个在我们编写程序的时候通常省略; 局部变量的生命周期是变量所在的作用域; 2.全局变量:作用范围是整个工程。 全局变量的生命周期是整个程序。 全局变量若定义时未初始化,则编译器默认是0。 那出现下图这...
c语言的常量在执行期间为固定值,在定义后无法被修改 常量可以是任何的数据基本类型,可以为整形,浮点常量,字符和字符串常量 1,使用const关键字 2, 使用宏定义 3,使用枚举常量 枚举: 1#include<stdio.h>2intmain(){3enumsex{4male,5female,6unknown,7};8printf("%d\n%d\n%d\n", male, female, unknown)...
4. 常量区 字符串、数字等常量存放在常量区。 const修饰的全局变量存放在常量区。 程序运行期间,常量区的内容不可以被修改。 5. 代码区 程序执行代码存放在代码区,其值不能修改(若修改则会出现错误)。 字符串常量和define定义的常量也有可能存放在代码区。
枚举常量是在C语言中用户自定义的数据类型,每个成员赋予一个整型常量。 例如, enum rainbow = {Violet, Indigo, Blue, Green, Yellow, Orange, Red} 枚举常量rainbow的整数如下: Violet:0 Indigo:1 Blue:2 Green:3 Yellow:4 Orange:5 Red:6 下面是一段C代码,阐述了一些常量的用法: ...
1、 整数常量 整数常量是指不带小数部分的数字。在C语言中,整数常量可以用十六进制、八进制或十进制表示。下表列出了不同进制下整数常量的表示方法: 例如,下面的代码定义了三个整数常量: #include < stdio.h >intmain() {intdecimal_num =10;intoctal_num =012;inthex_num =0xFF;printf("decimal_num = ...
const修饰的全局变量存放在常量区。 程序运行期间,常量区的内容不可以被修改。 5. 代码区 程序执行代码存放在代码区,其值不能修改(若修改则会出现错误)。 字符串常量和define定义的常量也有可能存放在代码区。 二、STM32存储器分配 1. 随机存储器—RAM ...
这个项目里我们定义了四个全局变量,t.h头文件定义了一个整型a,main.c里定义了两个整型b和c并且未初始化,foo.c里定义了一个初始化了的结构体,还定义了一个main的函数指针变量。 由于C语言每个源文件单独编译,所以t.h分别包含了两次,所以int a就被定义了两次。两个源文件里变量b和函数指针变量main被重复定义...