zoukankan      html  css  js  c++  java
  • 5 常量与变量

    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
        ", a);
        
            system("pause");
            return 0;
        }
        
      • 静态全局变量

        • 定义形式:函数外定义且static修饰的就是静态变量;

        • 作用范围:只能在当前源文件有效;

        • 生命周期:整个进程;

        • 存储空间:全局区;

        • 注意事项:静态全局变量不初始化内容为0

        • static:内部链接属性

    • 局部变量

      • 普通局部变量

        • 定义形式:在{}里面定义的变量就是局部变量;

        • 作用范围:离它最近的{}之间;

        • 生命周期:离它最近的{}结束,局部变量就被释放;

        • 存储空间:栈区;

        • 注意事项:局部变量不初始化,内容随机

      • 静态局部变量

        • 定义形式:在{}里面定义且static修饰;

        • 作用范围:离它最近的{}之间;

        • 生命周期:整个进程;

        • 存储空间:全局区;

        • 注意事项:静态局部变量,如果初始化语句执行多次,只有第一次有效

          void test06()
          {
          	static int num = 10;
          	num++;
          	printf("num=%d
          ", num);
          
          }
          int main(int argc, char *argv[])
          {
          	test06();    //11
          	test06();    //12
          	test06();    //13
          	test06();    //14
          	system("pause");
          	return 0;
          }
          
    • 变量的声明

      • 自动识别

      • 显示声明

  • 相关阅读:
    TensorFlow---基础---GFile
    TensorFlow---image recognition--classify_image运行、文件说明与错误(路径)解决
    gcc -D
    c语言数据读入---sscanf、fscanf
    Mysql--视图
    Mysql的索引
    每天学点linux命令之nc
    Redis基础---链接管理
    iOS WKWebview 网页开发适配指南
    Win7/Win10下搭建Go语言开发环境
  • 原文地址:https://www.cnblogs.com/chungeyuan/p/12753704.html
Copyright © 2011-2022 走看看