2.3 C语言之变量命名与声明
2023-12-14 19:34:52
一、变量名
- 对变量的命名与符号常量的命名存在一些限制和约定
- 名字是由字母和数字组成的序列,但第一个字符必须是字母。下划线_被看做字母,通常用于命名较长的变量名,以提高其可读性。
- 大写字母与小写字母是有区别的,x与X是两个不同的名字。在传统的c语言中,变量名使用小写字母,符号常量名全部使用大写字母,这是一个不错的做法
- 保留关键字(保留给语言本身使用的),如if, else, int, float等不能用作变量名
- 变量名要能够尽量从字面上表达变量的用途
- 局部变量一般使用较短的变量名(尤其是循环控制变量),外部变量使用较长的名字
二、声明
- 所有变量必须先声明,后使用
- 一个声明指定一种变量类型,后面所带的变量表可以包含一个或多个该类型的变量。比如:
int lower, upper, step; - 一个声明语句中的多个变量可以拆分在多个声明语句中。比如上面的声明语句可以等价的写成下面的形式:
int lower;
int upper;
int step;
按照这种形式书写代码需要占用较多的空间,但是便于向声明语句中添加注释,也便于日后修改。 - 可以在声明的同时对变量进行初始化。在声明中,如果变量名的后面紧跟一个等号以及一个表达式,该表达式充当对变量进行初始化的初始化表达式。比如:
char a = ‘\n’;
int i = 0;
int limit = MAXLINE + 1;- 如果变量不是局部变量,初始化表达式必须为常量表达式(程序开始执行之前进行初始化)
- 如果变量是局部变量,每次进入函数或程序块,显式初始化的自动变量都将被初始化一次,其初始化表达式可以是任何表达式
- 默认情况下,外部变量和静态变量将被初始化为0。未经显式初始化的自动变量的值为未定义值(即无效值)
#include <stdio.h>
int a; // 外部变量默认初始化
static int b; // 静态变量默认初始化
static int d = 2 + 2; // 静态变量初始化,只支持常量表达式
main()
{
int c; // 局部变量, 未定义值
int f = 2; // 局部变量初始化,常量表达式
int g = f + 2; // 局部变量初始化,表达式
printf("%d\t%d\t%d\t%d\n", a, b, d, g);
// printf("%d", c); c未初始化,编译错误
return 0;
}
- 任何变量的声明都可以使用const限定符限定。该限定符指定变量的值不能被修改。对数组而言,const限定符指定数组所有元素的值都不能被修改。
#include <stdio.h>
int strlen(const char s[]);
main()
{
const int a = 1;
// a = 2; 编译错误
const char msg[] = "warning: ";
// msg[0] = 'a'; 编译错误
return 0;
}
int strlen(const char s[]) {
// s[0] = 1; 编译错误
}
文章来源:https://blog.csdn.net/unwrapping/article/details/134916682
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!