欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

5 常量与变量

程序员文章站 2022-09-03 22:11:37
5.1 标识符 以字母、数字、下划线组成,但是不能以数字开头; 英文字母的大小写代表着不同的标识符; 标识符不能是关键字。 其他规则: 常量命名统一为大写格式。 define AGE 20 成员变量均以m_开始。 int m_Age 普通变量,取与实际意义相关的名称,在前面添加类型的首字母,并且名称 ......

5.1 标识符

  • 以字母、数字、下划线组成,但是不能以数字开头;

  • 英文字母的大小写代表着不同的标识符;

  • 标识符不能是关键字。

  • 其他规则:

    • 常量命名统一为大写格式。 #define age 20

    • 成员变量均以m_开始。 int m_age

    • 普通变量,取与实际意义相关的名称,在前面添加类型的首字母,并且名称的首字母要大写。 int inum.

    • 指针标识符前添加p,且名称字母要大写。 int *page

    • 在函数命名时,函数名的首字母要大写。 int addtwonum(int num1,int num2);

5.2 常量

  • 在程序运行过程中,其值不能被修改

    • 自动识别:变量定义在使用之前

    • 显示声明:

      extern int a;
      void test01(){}
      int a = 10;
      

5.3 变量

定义:让变量存在,系统会根据变量类型给变量开辟空间。类型名 + 变量名

声明:只是告诉编译器该变量已经存在,此处通过编译,不会开辟空间。

使用:对变量的读(取值)/写(赋值)操作,操作变量名所代表的空间内容。

变量名的本质是空间内容的别名,对变量名的操作实际就是对其所对应的空间内容的操作。

变量在编译时为其分配相应的内存空间。

  • 全局变量

    • 普通全局变量

      • 定义形式:在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;
        }
        
  • 变量的声明

    • 自动识别

      5 常量与变量

    • 显示声明

      5 常量与变量