C语言 变量与常量

news/2024/12/5 4:37:07/

1. 修饰符

a)extern:声明一个已定义的变量,不能重新赋值;

注意:不建议在头文件中定义变量,而在源文件中定义,然后在头文件中使用extern声明。

因为若头文件中定义了变量,然后多个源文件使用该头文件,编译时会报重定义错误。

b)const:修饰的变量不可变;

c)volatile:防止编译器优化;

d)register:建议将变量定义在寄存器中;


2. static变量、全局变量、局部变量

a)static全局变量只能在本文件中访问;

b)static局部变量只初始化一次,下次仍旧使用上次的值;

c)普通全局变量可在其他文件中访问,但访问前需用extern声明;

d)局部变量和全局变量重名,则在局部变量作用域内优先使用局部变量;

e)C++中,局部变量和全局变量重名,在局部变量作用域内想访问全局变量,则可使用::作用域符号,如 ::a

例子如下:

/* fileA.c */ 
static int a = 10; // 静态全局变量,只能在本文件中访问
int b = 20;        // 普通全局变量,可在其他文件中访问void printA() {printf("a = %d\n", a); // 访问静态全局变量aprintf("b = %d\n", b); // 访问普通全局变量b
}
/* fileB.c */
extern int b;   // 使用extern声明全局变量bvoid printB() {int b = 30;            // 定义一个同名的局部变量bprintf("b = %d\n", b); // 访问局部变量b
}
/* fileC.cpp */
int g; // 定义全局变量gvoid printB() {int g = 30;          // 定义一个同名的局部变量gcout << g << endl;   // 访问局部变量gcout << ::g << endl; // 访问全局变量g
}

3. 打印格式

有符号int%d
无符号int%u
有符号short%hd
无符号short%hu
有符号long%ld
无符号long%lu
字符%c
float,精度最大7位小数%f (%m.nf,m:打印总宽度,n:小数位数)
double,精度最大15位小数%lf

注意:

(1)

char ch = 'a';sizeof(ch);  // 1
sizeof('a'); // 4,因为'a'为97,是int类型

(2)将字符转为数字:减去 '0' 即可

char ch = '8';     // ch = 56int a = ch - '0';  // a = 8;
// 或者
int a = ch - 48;   // 数字0的ascii为48

http://www.ppmy.cn/news/242834.html

相关文章

Python的命令行参数解析

命令行参数解析在编程语言中基本都会碰到&#xff0c;Python中内置了一个用于命令项选项与参数解析的模块argparse。下面主要介绍两种解析Python命令行参数的方式。 1. sys.argv 解析Python中命令行参数的最传统的方法是通过sys.argv。Demo如下&#xff1a; #!/usr/env/pyth…

有什么可靠稳定的微信管理系统?

微信管理系统是什么 微信管理系统从字面上来说可以理解为微信的管理和营销系统。通俗一点来说就是利用微信与管理营销相结合的一种新型办公方式。 不用下载任何软件&#xff0c;不用多部手机&#xff0c;对手机没有任何型号要求&#xff0c;不需要刷机、越狱&#xff0c;不需…

C++内存序、屏障和原子操作

文章目录 一、原子类型二、原子操作函数三、内存序1&#xff09;happens-before和synchronizes-with语义2&#xff09;内存序模式 四、标准库函数五、栅栏&#xff08;Barrier&#xff09; 一、原子类型 标准原子类型的备选名和与其相关的 std::atomic<> 特化类&#xf…

新来个技术总监,把限流实现的那叫一个优雅,佩服!

在电商高并发场景下&#xff0c;我们经常会使用一些常用方法&#xff0c;去应对流量高峰&#xff0c;比如限流、熔断、降级&#xff0c;今天我们聊聊限流。 什么是限流呢&#xff1f;限流是限制到达系统的并发请求数量&#xff0c;保证系统能够正常响应部分用户请求&#xff0…

小米12回收能值多少钱

想买二手手机或者回收二手手机的缺不懂价格及其容易被坑&#xff0c;花冤枉钱这边给大家整理了二手小米12的市场价格&#xff08;数据来源&#xff1a;换换二手交易平台&#xff09;

小米10s参数配置 小米10s多少钱

外放音质是小米10S这次的主打卖点。据小米集团副总裁常程介绍&#xff0c;小米10S除了用上对称分布的双1216线性扬声器&#xff0c;还由哈曼卡顿「金耳朵」声学团队联合调试&#xff0c;以求最大程度还原声音。常程称&#xff0c;这是“小米有史以来音质最好的手机”。 小米10s…

小米的性价比还在吗?

iSmart-艾思 随着市场的成熟&#xff0c;以及各种元件成本的变化&#xff0c;目前已经出现了很多千元以下的双核智能手机、四核智能手机&#xff0c;这在去年还是不可想象的事情&#xff01; 这不近期就有一款小辣椒手机要上市&#xff0c;四核的也就卖999&#xff0c;真是&…

小米也打价格战?会有1999的小米2吗?

作为消费者最喜闻乐见的就是价格战&#xff0c;所以当刘强东在微博上宣布京东大家电3年零毛利&#xff0c;而且称将会无底线便宜&#xff0c;如果苏宁敢卖1元&#xff0c;京东的价格一定是0元时&#xff0c;微博沸腾了。电商行业在赚钱如此艰难的时候还如此为消费者着想&#x…