【C语言】小知识点

2023-11-16


Hello !各位小伙伴们,大家好啊!又和大家见面了,本期我会讲一点C语言的一些小知识点,希望大家可以学到有用的知识点哦!


一、调试

我们在敲代码的时候难免会遇到一些bug,那么我们该如何找到并且解决这些bug呢?
这就要用到调试了

1、Debug与Release环境

Debug通常被称为调试版本,我们程序员写代码的时候通常是在这个环境里面写的,也是我们重点介绍的;
Release通常被称为发布版本,是在Debug基础上进行各方面的优化,比如说内存大小,运行效率等等
但是Release版本是不能进行调试的,切记
在这里插入图片描述
在这里我们可以进行环境的交换

接下来我们来深入了解如何进行调试

2、快捷键

1、f10与f11快捷键的区别

f10是逐过程调试,每一串代码都可以用f10来调试。当然,也有例外:
按f10不会进入函数:
在这里插入图片描述

在这里插入图片描述
我们发现按下f10箭头直接消失了,并没有进入到函数内部
而按f11:
在这里插入图片描述
我们会发现f10可以进行每一串代码调试,但是不会进入函数,而f11更细致一些,可以进入到函数内部,这就是f10与f11的作用与区别

2、f5与f9快捷键

这两个快捷键一般都是一起使用的,比如说:
在这里插入图片描述
鼠标放在一行代码上,按一下f9就会出现一个小红球,这个就是断点;
当我们右击这个小红点可以进行相对应的操作,比如说设置一些条件等等。
在这里插入图片描述
f10开始调试的时候:
在这里插入图片描述
按一下f5直接跳到断点哪里去了:

在这里插入图片描述
可以看出来,进入调试的时候如果有断点的存在,f5会直接跳到断点哪里
这对我们以后遇到检测大量代码中的bug十分有效

3、ctrl+f5

ctrl+f5是开始执行不调式
在这里插入图片描述
会直接运行程序

这里面有更多的快捷键使用技巧,大家可以看看


二、我们如何监视连续的数组内容?

小编使用的是vs2022编辑器,可能与大家有所不同,但是原理都是一样的

步骤:按f10进入调试界面,点击编辑器上面的调试—>窗口—>监视

在这里插入图片描述
随便点开一个:
在这里插入图片描述
当我们输入arr加逗号加数字,就会显示出我们输入数字的个数值—arr,x:
在这里插入图片描述
这样就可以监视到数组连续存放的值了


三、const的使用

1、const int *p

这种const使用是用来修饰*p的,他的意思是p指向的对象不能够被改变,但是p指针的地址可以发生变化,并且count int* p等价于int count *p,这两种写法是一样的意思;

2、int* count p

这种const使用是用来修饰p的,他的意思是p指向的对象可以改变,但是p地址不能改变

3、count int* count p

这里的意思是p指向的对象可以不能改变,而且p地址不能改变

四、程序死循环(笔试题改编)

x86环境也就是32位平台:
在这里插入图片描述
x64环境也就是64位平台:

在这里插入图片描述
可以看出这个程序在64平台下面不能执行,大家要注意一下
在这里插入图片描述
通过上图的解释相信大家对这个代码有了更深入的认识,小伙伴们可以自己动手画图试一下,这样更容易理解。

五、总结

C语言是一门灵活的语言,不是一门方便的语言,就比如说指针,指针就是一把双刃剑,灵活的同时又具有易错的一面。所以小伙伴们一定要细心,掌握好每一个小知识点,让我们共同进步,谢谢各位小伙伴们的观看了,我们下期再见!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【C语言】小知识点 的相关文章

  • 机器学习基础-监督学习与无监督学习

    机器学习基础 监督学习与无监督学习 机器学习 Machine Learning 主要研究计算机系统对特定任务的性能 逐步进行改善的算法和统计模型 通过输入海量数据对模型进行训练 使模型掌握数据所蕴含的潜在规律 进而对新输入的数据进行准确的分

随机推荐

  • C#循环语句 for 与 while 以及关键字跳出循环 C#学习杂记(四)

    1 for循环 1 for 循环有一个基本固定的写法 for int i 0 i lt 10 i 类似这样 for int i 0 i lt 10 i Console WriteLine i 循环十次 打印 i 2 for 循环简单应用 求
  • 【华为OD机试真题2023 JAVA&JS】寻找核酸检测点

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 寻找核酸检测点 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 张三要去外地出差 需要做核酸 需要在指定时间点前做完核酸 请帮他找到满足条件的核酸检测点 1 给出
  • Python网页请求超时如何解决

    在进行网络爬虫项目时 我们经常需要发送大量的请求来获取所需的数据 然而 由于网络环境的不稳定性 请求可能会因为超时而失败 请求超时可能导致数据获取不完整 影响爬虫的效率和准确性 此外 频繁的请求超时可能会被目标网站视为恶意行为 导致IP被封
  • 用Python搭建http文件下载服务器

    写这篇主要是为了Assetbundle 二 热更新方案设计 中涉及的下载服务器搭建 Python功能能强大 用起来也很方便 我们在做资源更新模块时 需要搭建一个http文件下载服务器 用于模拟从外网下载Assetbundle等 有很多种方法
  • nginx配置多个server

    nginx配置多个server server listen 80 server name localhost root C Users Administrator Desktop dist location try files uri in
  • Android 9.0修改recovery 菜单项字体大小

    1 前言 在Android9 0rom定制化开发中 在原生系统中 对于recovery模块这部分也是相当重要的部分 所以当进入recovery模式后 界面会g menu actions 菜单选项和 提示文字 而这些文字的 大小不像上层一样是
  • E: Unmet dependencies. Try ‘apt --fix-broken install‘ with no packages (or specify a solution).

    ubuntu 安装 dos2unix的时候提示 出错 apt install dos2unix Reading package lists Done Building dependency tree Reading state inform
  • vue仿淘宝购物车的实现

    先看效果图 实现的功能有 1 选中店铺 店铺下的商品全选中 2 店铺下的商品全选中 相对应的店铺也会被选中 3 所有的店铺全选中 底部的全选也会被选中 4 所有的商品全选中 底部的全选也会被选中 5 底部的全选选中 所有的店铺和商品都会被选
  • 【VUE】npm打包报错 Syntax Error: Error: Cannot find module ‘imagemin-gifsicle‘

    一 Syntax Error Error Cannot find module imagemin gifsicle npm run build 报错 报错如下 原因 这个错误消息显示缺少了 imagemin gifsicle 模块 而它是
  • 聚类算法——最大最小距离算法(python实现)

    每篇一句 You re gonna have to face your fear sooner or later 冰河世纪 最大最小距离算法 最大最小距离算法也成为小中取大距离算法 这种方法首先根据确定的距离阈值寻找聚类中心 然后根据最近邻
  • 获取和分析Dump的几种工具简介

    最近在进一步学习support技能的时候 了解到分析Dump的重要性 经过学习 做一些笔记 一 什么是Dump文件 Dump文件时进程的内存镜像 可以把程序的执行状态保存到Dump文件中 Dump文件分为内核模式Dump和用户模式Dump
  • SQL-labs的第26a关——空格和注释被过滤 延时盲注(Get)

    注意该关的or和and也被过滤了 1 判断闭合方式 输入语句 id 1 返回页面如下 我们猜测闭合符号是 再进行验证 输入语句 id 1 00 返回页面如下 依然报错 说明闭合符号除了 之外还有其他的符号 我们输入 id 1 00 返回页面
  • pgsql:远程连接时出现报错“发生致命错误:没有用于主机“…”,用户“…”,数据库“…”,SSL关闭的pg_hba.conf记录“,或者英文乱码

    问题 在用Navicat Premium远程连接pgsql时出现报错 发生致命错误 没有用于主机 用户 数据库 SSL关闭的pg hba conf记录 或者英文乱码 其实是与上述是同一个意思 解决方案 按提示找到pg安装目录下的 data
  • springboot 整合 redis

    springboot 整合 redis 1 导入依赖
  • {CTFshow} 萌新web1 详解

    练习ctf当然不止一个平台啦 所以我打算也写一写ctfshow的题目 好家伙 直接明了 就是让我审计代码 看完发现 我们要用get方式提交 flag在id 1000 但是直接提交id 1000会返回错误 所以我们需要再添加一个id用来防止被
  • springboot 访问远程服务器文件,springboot使用JSch远程读取sshd服务器上的文件

    JSch 是SSH2的一个纯Java实现 它允许你连接到一个sshd 服务器 使用端口转发 X11转发 文件传输等等 你可以将它的功能集成到你自己的 程序中 同时该项目也提供一个J2ME版本用来在手机上直连SSHD服务器 实现一个java工
  • 前后端分离ajax接收文件流的实践

    一般ajax post请求不能实现的原因 开始的想法 在页面上用jQuery的 post方法发送一个请求给服务器 然后服务器根据这个参数再生成相应的一个文件流返回给客户端 但是 在 post方法的回调函数中 只能处理xml json scr
  • 手机android端安装配置cpolar内网穿透

    cpolar作为一款强大的内网穿透工具 能够在不同操作系统平台中得到应用 真正打通了不同操作系统之间的围墙 让我们能方便的从一个操作平台中 读取到另一个操作平台中的数据 甚至对另一操作平台中运行的程序进行调试 今天 我们就为大家介绍 如何在
  • .Net Core缓存及问题规避

    目录 一 什么是缓存 二 客户端响应缓存 三 服务器端响应缓存 四 内存缓存 五 缓存穿透问题的规避 六 缓存雪崩问题的规避 七 缓存数据混乱的规避 八 分布式缓存 九 缓存方式的选择 一 什么是缓存 缓存是系统优化中简单又以有效的工具 只
  • 【C语言】小知识点

    Hello 各位小伙伴们 大家好啊 又和大家见面了 本期我会讲一点C语言的一些小知识点 希望大家可以学到有用的知识点哦 文章目录 Hello 各位小伙伴们 大家好啊 又和大家见面了 本期我会讲一点C语言的一些小知识点 希望大家可以学到有用的