尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

vs调试技巧+宏定义+动态内存

vs调试技巧+宏定义+动态内存
📅 发布时间:2026/7/5 14:00:14

debug版本:便于程序员调试代码

release版本:给用户使用的版本

一些很重要的快捷键:

F9:创建断点和取消断点

断点的作用是可以在程序的任意位置设置断点,打上断点就可以让程序执行到想要的位置暂停执行

F5:启动调试,经常用来直接跳到下一个断点处,一般和F9配合使用

F10:逐过程,通常来处理一个过程,一个过程可以是一次函数调用,或者是一条语句

F11:逐语句,就是每次都执行一条语句,但是这个快捷键可以使我们的执行逻辑进入函数内部

CTRL+F5:开始执行不调试,如果你想让程序直接运行起来而不调试则直接使用

宏定义:

宏定义常量:#define MAX 100 就把MAX变成100

宏定义:如果想定义一个求一个数的平方 #define SQUARE(x) x*x

这里有个易错点 如果我传的是SQUARE(2+5) 出来不会是49 因为是2+5*2+5 要加括号

这边我的建议是不要吝啬括号 写成#define DOULE(x) ((x)+(x)) 就是参数带上括号 整体带上括号

内存

栈区:局部变量 函数的参数

堆区:malloc calloc realloc free

静态区:全局变量,静态变量

动态内存申请头文件:stdlib.h

内存申请有可能失败 返回NULL 指针 故我们需要判断

int* p=(int*)malloc(20); if(p==NULL) { perror("use malloc"); exit; }

申请内存后一定要释放内存

free(p);

p=NULL;

// 1. malloc:分配一块未初始化内存

void* malloc(size_t size);

// 2. calloc:分配n块、全部初始化为0

void* calloc(size_t num, size_t size);

// 3. realloc:重新调整已有内存大小

void* realloc(void* ptr, size_t new_size);

相关新闻

  • 内向者和别人聊天缺少共同话题的庖丁解牛
  • 数学艺术图案画-曼陀罗(39)
  • 终极精简指南:使用PowerShell脚本让Windows 11瘦身50%

最新新闻

  • Slint GridLayout 详解:从基础到实战的网格布局指南
  • 20万以内的领克07GT是否值得购买呢咋们来聊聊领克07GT这台车
  • (论文速读)REF-DDPM:一种新的基于DDPM的不平衡滚动轴承故障诊断数据增强方法
  • 【研发类-前端开发Skills】angular-ui-patterns 技能
  • AI 导出鸭实操教程:怎么把 Grok 生成的表格导出,零基础快速搞定表格转存
  • 2026 AI 开发者生存指南(8):AI 视频、音乐、图像生成工具链——从文本生成到商业化应用

日新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号