程序设计和C语言(4)
约 572 字大约 2 分钟
2024-07-07
14.全局变量及宏定义
/*
学习目标
(1)宏名,全局变量建议大写
(2)#开头的都是预处理指令,预处理是发生在预编译阶段(编译之前),对源程序进行一些简单的文本替换
(3)全局变量的作用域就是从定义处开始,到整个文件的末尾
*/
#include <stdio.h>
#define P1 3.1415926 //定义一个宏名P1,程序会在预编译阶段把该定义出之后的所有的P1地方替换为3.1415926
int A; //未初始化的全局变量A,初始值4的全局变量B
int B=4;
int main(void)
{
printf("%d,%d\n",A,B);
printf("P1\n");
// P1=10; //error 符号常量P1不能被赋值
printf("%d,%d\n",A,B);
return 0;
}
15.标识符命名规范
在程序中使用的变量名、函数名、宏名等统称为标识符。 除库函数的函数名由系统指定外,其余都由用户自定义。C规定,标识符只能是字母、数字、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。
- 标识符不能和C语言的关键字相同,也不能和用户自定义的函数或C语言库函数重名。
- 不同的C语言编译器对标识符的长度规定不同。
/*
(1)变量的作用域,就看变量直接隶属于哪个"花括号",那么其作用域就是从定义域开始,到这个"花括号"的末尾结束。
(2)同个"花括号"中不可以"直接"定义重名变量。
(3)在文件中的某一处引用重名变量时,所引用的变量就是作用域较小的那一个变量。
*/
#include <stdio.h>
int a =1;
//int a; error 注意事项(2)
void f(int a); //函数声明中的形式参数变量名,无作用域
int main(void)
{
printf("%d\n",a);
int a =2; //注意事项(3)
// int a; error 注意事项(2)
printf("%d\n",a);
if(1)
{
int a = 3;
// int a; error 注意事项(2)
printf("%d\n",a);
}
f(4);
return 0;
}
void f(int a)
{
// int a; error 注意事项(2)
printf("%d\n",a);
}