• 初识C语言—常见关键字


    变量的命名最好有意义

    名字必须是字母,数字,下划线组成,不能有特殊字符,同时不能以数字开头

    变量名不能是关键字

    typedef---类型定义,类型重命名

    1. #include
    2. typedef unsigned int uint;
    3. //将unsigned int类型重定义为uint
    4. typedef struct Node{
    5. int data;
    6. struct Node* next;
    7. }Node;
    8. //将struct Node类型重定义为Node
    9. int main()
    10. {
    11. unsigned int num1 = 0;
    12. uint num2 = 1;
    13. struct Node n1;
    14. Node n2;
    15. return 0;
    16. }

    1. #include
    2. void test(){
    3. int a = 0;
    4. a++;
    5. printf("%d\n",a);
    6. }
    7. int main()
    8. {
    9. int i = 0;
    10. while(i < 5){
    11. test();
    12. i++;
    13. }
    14. return 0;
    15. }

    用static修饰变量a

    1. #include
    2. void test(){
    3. static int a = 0;
    4. a++;
    5. printf("%d\n",a);
    6. }
    7. int main()
    8. {
    9. int i = 0;
    10. while(i < 5){
    11. test();
    12. i++;
    13. }
    14. return 0;
    15. }

            static修饰局部变量的时候,局部变量出了作用域不销毁。本质上,static修饰局部变量的时候改变了变量的存储位置,影响了变量的生命周期,生命周期变长,和程序的生命周期一样。

            这一句没有对应的汇编代码

            (前面的static可以理解为固定使其不执行,即为静态,第一次创建后不会再重新创建变量并初始化,局部变量没了创建和销毁过程,每次使用的变量都是上次存起来的)

            静态变量在编译期间就已经分配好了空间。

            extern—声明外部符号(告诉编译器我在这个项目别的文件里定义了一个符号,你自己去找吧)

            编译,链接—>可执行程序

            全局变量是具有外部链接属性的

            static修饰全局变量的时候,这个全局变量的外部链接属性就变成了内部链接属性,其他源文件(.c)就不能再使用这个全局变量了。我们在使用的时候就感觉作用域变小了,一定程度上来说可以保障安全性。

            一个函数本来是具有外部链接属性的,但是被static修饰的时候,外部链接属性就变成了内部链接属性,其他源文件(.c)就不能再使用了。

    电脑上的存储设备都有哪些?

    寄存器(集成到cpu上)

    高速缓存(cache)

    内存

    硬盘

            一开始的计算机,对速度要求没那么高,CPU和内存交换数据,后面随着计算机的发展,对速度的要求越来越高,内存把需要的数据调到高速缓存,调到寄存器,再和CPU进行数据交换,满足速度的要求。

    #define定义宏

    1. #define ADD(x,y) ((x)+(y))
    2. int main()
    3. {
    4. int a = 1;
    5. int b = 2;
    6. int sum = ADD(a,b);
    7. printf("%d\n",sum);
    8. return 0;
    9. }

            宏就是完成替换

            continue关键字不能用在switch语句里,用在循环里,能用在switch语句里的关键字有break,default,case。

            define不是关键字,是预处理指令。

  • 相关阅读:
    vCenter命令行升级
    用python把docx批量转为pdf
    EdrawMax v12新鲜出炉,重新设计字体库UI
    基于STC89C52单片机的U盘设计
    金蝶云星空与旺店通·企业奇门对接集成盘盈单查询打通创建盘点单
    nodejs+vue+elementui招生信息网站管理系统
    使用Hadoop MapReduce分析邮件日志提取 id、状态 和 目标邮箱
    Hooks的使用
    聊聊 MySQL 事务二阶段提交
    使用Flink1.16.0的SQLGateway迁移Hive SQL任务
  • 原文地址:https://blog.csdn.net/m0_63525059/article/details/136267784