《每天一分钟学习C语言·十三》

1、清屏函数和暂停函数
头文件stdlib.h
system(“cls”);
system(“pause”); //暂停函数,按任意键继续

2、动态内存释放的问题

int ** p = new int*[3];
p[0] = new int(0);
p[1] = new int(1);
p[2] = new int(2);

先申请一个二级指针内存空间,每个元素是一个一级指针,在给每个一级指针分配内存空间,并存入0,1,2值。那么怎么释放内存?
如果存在多级指针的内存释放,一定要从内往外释放,先释放每个一级指针内存,最后释放二级指针内存。如果先释放了二级指针内存,那就找不到指向首元素的地址了,也就找不到每个一级指针的位置,一级指针的内存还留在某个空间里得不到释放。

3、const和#define区别
(1)编译处理阶段不同:define是在预处理阶段进行宏展开,const是在编译运行阶段。
(2)类型和安全检查不同:const常量有具体的类型,在编译阶段会执行类型检查,而define没有。
(3)存储方式不同:const常量会进行内存分配(C++中,对于简单类型的临时常量会保存在符号表里面进行替换,而不会分配内存),而define仅仅是展开,不会分配内存。
(4)有些调试工具可以对const进行调试,但是不能对宏定义进行调试。

4、函数指针

int (*f)(int a) //f是函数指针
typedef int (*f)(int a) //f是一个数据类型用来定义函数的类型
//现在有一个函数
int add(int a){
   }
//返回值类型和参数类型要一致
f ad = add;
ad(100); //ad就是add函数

相关推荐

  1. 每天分钟学习C语言·

    2024-02-03 10:36:03       57 阅读
  2. 每天一个数据分析题(百五

    2024-02-03 10:36:03       55 阅读
  3. 每天一个数据分析题(二百

    2024-02-03 10:36:03       42 阅读
  4. 每天一个数据分析题()-漏斗模型

    2024-02-03 10:36:03       35 阅读
  5. C++学习笔记():c++ 模板template

    2024-02-03 10:36:03       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-03 10:36:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-03 10:36:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-03 10:36:03       82 阅读
  4. Python语言-面向对象

    2024-02-03 10:36:03       91 阅读

热门阅读

  1. linux 内核升级

    2024-02-03 10:36:03       54 阅读
  2. 基于机器学习的无损缺陷检测技术研究进展

    2024-02-03 10:36:03       56 阅读
  3. 2.2作业

    2.2作业

    2024-02-03 10:36:03      53 阅读
  4. Vue 图片加载失败处理

    2024-02-03 10:36:03       43 阅读
  5. Vue3快速上手

    2024-02-03 10:36:03       42 阅读
  6. react+ts

    react+ts

    2024-02-03 10:36:03      49 阅读
  7. 115.工业相机海康SDK开发指南(阅读)

    2024-02-03 10:36:03       33 阅读
  8. 探索ChatGPT:AI技术的新篇章与人类的共舞

    2024-02-03 10:36:03       46 阅读
  9. 【硬件产品经理】锂电池充电时间怎么计算?

    2024-02-03 10:36:03       52 阅读
  10. MySQL的备份与恢复

    2024-02-03 10:36:03       49 阅读
  11. 作业2.2

    2024-02-03 10:36:03       45 阅读