二把手txt,熙禧印记,天津长途客运站
以字母、数字、下划线组成,但是不能以数字开头;
英文字母的大小写代表着不同的标识符;
标识符不能是关键字。
其他规则:
常量命名统一为大写格式。 #define age 20
成员变量均以m_开始。 int m_age
普通变量,取与实际意义相关的名称,在前面添加类型的首字母,并且名称的首字母要大写。 int inum.
指针标识符前添加p,且名称字母要大写。 int *page
在函数命名时,函数名的首字母要大写。 int addtwonum(int num1,int num2);
在程序运行过程中,其值不能被修改
自动识别:变量定义在使用之前
显示声明:
extern int a; void test01(){} int a = 10;
定义:让变量存在,系统会根据变量类型给变量开辟空间。类型名 + 变量名
声明:只是告诉编译器该变量已经存在,此处通过编译,不会开辟空间。
使用:对变量的读(取值)/写(赋值)操作,操作变量名所代表的空间内容。
变量名的本质是空间内容的别名,对变量名的操作实际就是对其所对应的空间内容的操作。
变量在编译时为其分配相应的内存空间。
全局变量
普通全局变量
定义形式:在main函数外定义的变量就是普通全局变量;
作用范围:当前源文件以及其他源文件(加extern修饰);
生命周期:整个进程;
存储空间:全局区;
注意事项:普通全局变量不初始化内容为0;
extern:外部链接属性
// test01.c #pragma once extern int a = 30; int test() { return 0; } // test02.c #pragma once #include <stdio.h> #include <stdlib.h> int a; int main() { printf("%d\n", a); system("pause"); return 0; }
静态全局变量
定义形式:函数外定义且static修饰的就是静态变量;
作用范围:只能在当前源文件有效;
生命周期:整个进程;
存储空间:全局区;
注意事项:静态全局变量不初始化内容为0
static:内部链接属性
局部变量
普通局部变量
定义形式:在{}里面定义的变量就是局部变量;
作用范围:离它最近的{}之间;
生命周期:离它最近的{}结束,局部变量就被释放;
存储空间:栈区;
注意事项:局部变量不初始化,内容随机
静态局部变量
定义形式:在{}里面定义且static修饰;
作用范围:离它最近的{}之间;
生命周期:整个进程;
存储空间:全局区;
注意事项:静态局部变量,如果初始化语句执行多次,只有第一次有效
void test06() { static int num = 10; num++; printf("num=%d\n", num); } int main(int argc, char *argv[]) { test06(); //11 test06(); //12 test06(); //13 test06(); //14 system("pause"); return 0; }
变量的声明
自动识别
显示声明
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论