c语言基础笔记19

【C语言基础学习笔记】一、初始C语言(3) 说明:我是一个初学c语言的小白,很多地方都不是很理解,所以就会自己动手敲代码进行相应的推理验证,希望可爱的你在看到这些步骤时,不要嫌弃我啰嗦。(比如吐槽:这作者咋这样呀,这么简单的还要敲代码验证,真菜呀!…我:好吧,我不装了,我摊牌了,我确实菜,真的菜,咋滴啦,还不允许初学者菜呀!) EOF-- - end of file 文件结束标志 值: - 1 提示:本小结是初始C语言最后一小部分内容,之后会有一个初始C语言总结的文章,包含初始C语言(1)(2)(3)复习专用的思维导图,一些用于编程练习的ca 阅读详情

本部分包含调试技巧。bug的含义、调试的概念、debug和release的介绍、一些调试的实例。

笔记:

  • 1 什么是bug?
    • 第一次被发现的导致计算机错误的飞蛾,也是第一个计算机程序错误。
  • 2 调试是什么?
    • 2.1调试(英语:Debugging / Debug),又称除错,是发现和减少计算机程序或电子仪器设备中程序错误的一个过程。
    • 2.2调试的基本步骤
      • 发现程序错误的存在
      • 以隔离、消除等方式对错误进行定位
      • 确定错误产生的原因
      • 提出纠正错误的解决办法
      • 对程序错误予以改正,重新测试
  • 3 Debug和Release的介绍
    • 3.1Debug 通常称为调试版本
      • 它包含调试信息,并且不作任何优化,便于程序员调试程序。
    • 3.2Release 称为发布版本
      • 它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。
  • 4 windows环境调试介绍
    • 4.1 调试环境的准备
      • 在环境中选择 debug 选项,才能使代码正常调试。
    • 4.2 学会快捷键
      • F5
        • 启动调试,经常用来直接跳到下一个断点处。
      • F9
        • 创建断点和取消断点
        • 断点的重要作用,可以在程序的任意位置设置断点。
        • 这样就可以使得程序在想要的位置随意停止执行,继而一步步执行下去。
      • F10
        • 逐过程,通常用来处理一个过程,一个过程可以是一次函数调用,或者是一条语句。
      • F11
        • 逐语句,就是每次都执行一条语句,但是这个快捷键可以使我们的执行逻辑进入函数内部(这是最长用的)。
      • CTRL+F5
        • 开始执行不调试,如果你想让程序直接运行起来而不调试就可以直接使用。
    • 4.3 调试的时候查看程序当前信息
      • 调试(D)+窗口(W)
      • 4.3.1 查看临时变量的值
      • 4.3.2 查看内存信息
      • 4.3.3 查看调用堆栈
      • 4.3.4 查看汇编信息
      • 4.3.5 查看寄存器信息
  • 5 一些调试的实例。
    • 局部变量放在栈区上。栈区内存的使用习惯是高地址到低地址。数组随着下标的增长地址空间变化是由低到高。

 代码:

       

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<assert.h>

void print(int arr[],int i)
{
	printf("%d\n", arr[i]);
}

////写法一
//void my_strcpy(char* arr1,char* arr2)
//{
//	while(*arr2 != '\0')
//	{
//		*arr1 = *arr2;
//		*arr1++;
//		*arr2++;
//	}
//	*arr1 = *arr2;
//}

////写法二
//void my_strcpy(char* arr1,char* arr2)
//{
//	while(*arr2 != '\0')
//	{
//		*arr1++ = *arr2++;
//	}
//	*arr1 = *arr2;
//}

//写法三
void my_strcpy(char* arr1,const char* arr2)
{
	assert(arr2 != NULL);//断言
	assert(arr1 != NULL);
	while (*arr1++ =*arr2++ )
	{
		;
	}
}

int main()
{
	////调试技巧
	//int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	//int len = sizeof(arr) / sizeof(arr[1]);
	//
	//for (int i = 0;i < 10;i++)
	//{
	//	arr[i] = 0;
	//}

	//for (int i = 0;i < 10;i++)
	//{
	//	print(arr,i);
	//}


	char arr1[10] = "xxxx";
	char arr2[] = "ok";

	////strcpy正常写法
	//strcpy(arr1, arr2);
	//printf("%s", arr1);

	//模拟strcpy写法
	my_strcpy(arr1,arr2);
	printf("%s", arr1);

}

笔记——Oracle19c Oracle阅读笔记 阅读详情

相关推荐

【C语言基础学习笔记】一、初始C语言(1)

说明:我是一个初学c语言的小白,很多地方都不是很理解,所以就会自己动手敲代码进行相应的推理验证,希望可爱的你在看到这些步骤时,不要嫌弃我啰嗦。(比如吐槽:这作者咋这样呀,这么简单的还要敲代码验证,真菜呀!…我:好吧,我不装了,我摊牌了,我确实菜,真的菜,咋滴啦,还不允许初学者菜呀!) 1.第一个c语言程序 #include<stdio.h> int main() { printf("hello world!\n"); return 0; } //所有的c语言程序都有相同的一个框架 int

大家好我叫张同学 7748

C语言基础学习笔记

此博文是整理本人初入编程世界学习C语言的经历,零基础想学习C语言的可参考本文的学习方式,内容包含视频+笔记+思维导图总结,根据视频资源编写自己见解的学习笔记,再从笔记中提炼总结思维导图。笔记看得云里雾里是正常的,一是需要配合视频,二是因为写笔记时是想到哪里记到哪里,每个人侧重点不同,笔记仅供参考。

weixin_45068267的博客 2130

【C语言基础一百题1】C语言基础100题全新整理版

最后一个寒假,想复习一下c语言的基础知识,正好也做一个查缺补漏的工作,于是找个C语言基础100题作为练习。 但是原来的100题涉及很多绘图的问题,而且有些题目过于混乱并且在摘记过程中没有经过加工,所以我自己对原来的题目做了一下调整并且删掉了原来的绘图的题目,在原来题目涉及不多的地方增加了新的题目,新题目多取自谭老的《C语言程序设计》完全可以在VC++6.0环境下运行,100道题目,基本涉及到C语言知识点的所有方面。 虽然都是基础的题目,但在整个总结的过程中也发现了自己很多问题,自我解决问题的过程也是自己

ぁ風雲變色ぁ 2万+

C语言基础笔记(全)

printf函数可以输出各种类型的数据,包括整型、浮点型、字符型、字符串型等,实际原理是printf函数将这些类型的数据格式化为字符串后,放入标准缓冲区,然后将结果显示到屏幕上printf函数根据format给出的格式打印输出到stdout(标准输出)和其他参数中代码格式%c字符%d带符号整数%f浮点数%s一串字符%u无符号整数%x无符号十六进制数,用小写字母%X无符号十六进制数,用大写字母%p一个指针%%一个'%'符号。

señoritaw的博客 1万+

C语言基础知识入门大全

C语言入门知识

#@学生小羊的博客 3731

黑马程序员——C语言基础教程笔记

黑马程序员——C语言基础教程笔记 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 文章目录黑马程序员——C语言基础教程笔记前言Day-11.C语言概论1.1 什么是C语言1.1.1 C语言特点1.1.2 学习C语言的理由1.1.3 发展方向1.1.4 C语言中的关键字2.3.Day-21.引入库2.读入数据总结 前言 研三了,作为一枚菜鸡硕,为了找工作,只好重刷C语言。以下笔记是我在“黑马程序员:http://yun.

BinHeon的博客 6767

【免费下载】 Oracle 19C OCP全程课堂笔记

Oracle 19C OCP全程课堂笔记 【下载地址】Oracle19COCP全程课堂笔记 Oracle 19C OCP全程课堂笔记本仓库提供了一系列关于Oracle 19C OCP认证的全程课堂笔记,涵盖了从Docker环境的安装到PDB创建的多个关键步骤 ...

gitblog_09772的博客 1067

Oracle19C 19.27补丁发布

p6880880_190000_Linux-x86-64.zip (更新 OPatch .45)本文仅供简明指令和大概用时,方便直接 copy 使用,并了解指令的预期执行时间,减少等待焦虑。北京时间4/16日Oracle 19C 19.27季度补丁发布,至此,19c RAC 升级至19.27 完成。

xiaofan23z的专栏 2118

【C语言基础学习笔记】+ 【C语言进阶学习笔记】总结篇(坚持才有收获!)

【C语言基础学习笔记系列】 【C语言基础学习笔记】一、初始C语言(1) 【C语言基础学习笔记】一、初始C语言(2) 【C语言基础学习笔记】一、初始C语言(3) 【C语言基础学习笔记】一、初始C语言(总结篇) 【C语言基础学习笔记】二、分支与循环语句(1) 【C语言基础学习笔记】二、分支与循环语句(2) 【C语言基础学习笔记】二、分支与循环语句(3) 【C语言基础学习笔记】三、函数(1) 【C语言基础学习笔记】三、函数(2)— 函数递归详解 【C语言基础学习—三子棋游戏】(包含详细讲解+优化策略及实现) 【C

大家好我叫张同学 7814

从零开始:手把手教你检查并更新英伟达GPU驱动和CUDA版本(Windows/Linux双平台)

本文详细指导如何在Windows和Linux系统上检查并更新英伟达GPU驱动和CUDA版本,解决版本不匹配导致的常见问题。涵盖驱动更新、CUDA Toolkit安装、版本冲突排解及性能优化技巧,帮助开发者高效管理GPU计算环境。

weixin_29237635的博客 701

DMA+Timer 生成 PWM 波形错位问题分析与解决

本文深入分析了DMA与Timer协同生成PWM波形时出现的错位问题,揭示了DMA传输启动时机与定时器溢出中断的微妙关系。通过占空比强制清零法和预装载值调校技巧,提供了有效的解决方案,并总结了PWM+DMA配置的最佳实践,帮助开发者避免类似问题。

weixin_29191081的博客 349

C 语言基础笔记 p1

起源:1972 年由丹尼斯・里奇(Dennis Ritchie)在贝尔实验室开发,最初用于编写 UNIX 操作系统。特点面向过程的编程语言,结构化强,逻辑清晰。高效性:接近底层硬件,执行速度快,适合系统级开发。可移植性:代码能在不同平台(Windows、Linux、Mac)上运行(需重新编译)。功能强大:支持指针、位运算等底层操作,是很多高级语言的基础(如 Python、Java 的底层部分用 C 实现)。应用场景:操作系统、嵌入式开发、驱动程序、游戏引擎、数据库等。c运行。

cindddwww的博客 2258

ENVI SARscape安装全攻略:从下载到汉化一步到位(附最新试用申请链接)

本文提供ENVI SARscape从下载安装到汉化的完整指南,特别针对InSAR(合成孔径雷达干涉测量)分析环境搭建。详细介绍了系统要求、分步安装流程、汉化优化方法及硬件加速配置,并分享数据处理验证和常见问题解决方案,帮助用户高效搭建遥感数据分析平台。

rnn9storyteller的博客 1414

C语言基础知识笔记——万字学习记录

Hi,大家好,我是半亩花海。本文主要参考浙大翁恺老师的C语言讲解以及其他博主的C语言学习笔记,进而梳理C语言的基础知识,为后续系统性学习数据结构和其他语言等知识夯实一定的基础。

沉思默想,深度学习,半亩星河半亩月,半亩花海半亩云。 2612

Dify使用教程(创建应用)

Dify的安装部署我已经写过了,简单的模型配置我也在前面进行了讲解,今天我们主要来讲讲如何使用Dify。

wal1314520的博客 1万+

真随机数与伪随机数

前面我们学习了LFSR,这个玩意落地到具体的应用是什么呢?没错是寄存器,这里在网络找到了几个回答,这里做个记录,下面一起来学习一下吧。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 1062

全方位对比oracle18c和oracle 19c

通过以上对比可见,Oracle 19c在性能、自治能力、云支持及安全性方面全面超越18c,是企业级部署的明确选择。升级时应充分测试业务兼容性,并参考Oracle官方升级手册逐步实施。:19c的自治能力更成熟,减少人工维护成本达40%以上。:19c在多租户管理上更自动化,支持大规模云化部署。需手动配置冲突解决策略,切换延迟较高。的云功能需依赖第三方工具补足。

百锦再的博客 9709

如何借助Gemini 3 Pro完成一篇文献精读?(劝收藏)

金句必须是原文的完整句子,并附上该句子在文中的大致位置。你是一名资深科研文献评估专家,请根据我提供的文献信息(标题、作者、期刊、时间、引用、摘要、结论、图表)依次输出:①影响力评估:按期刊、作者、时间、引用、问题重要性给出1–10分及简述;用上述方法再结合Gemini 3 Pro的辅助,原本需要3小时才能读完一篇文献,现在只需50分钟,不管是顶刊论文还是领域内冷门论文,都可以用这套方法,另外七哥设计的高阶精读提示词,需根据自己的文献内容做调整,希望这篇文章的方法能帮你高效精读文献,掌握文献的精华内容。

智能AI让学术科研更容易 1302

Oracle 19c之RPM安装

Oracle 19c之RPM安装

WYP123456L的博客 1万+

PCL体素滤波器【2026最新版】

PCL实现的VoxelGrid类和ApproximateVoxelGrid体素滤波,详细记录。博客长期更新,本文最近一次更新时间为:2026年3月14日。

点云侠的博客 39万+

芯片标称具备8kVESD能力却在8kV测试中失效?

芯片级ESD(HBM模型)与系统级ESD(IEC 61000-4-2)存在本质差异:

硬核科技 647

Oracle 19c下载及安装步骤

Oracle 19c 下载及安装步骤

zhangzz1209的博客 2万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

嵌入式学习笔记之C语言基础

C语言是世界上最流行、使用最广泛的高级程序设计语言之一,广泛用于系统与应用软件的开发。具备很强的数据处理能力、高效、灵活、功能丰富、表达力强和较高的移植性等特点。操作系统是计算机系统的核心,如 Unix、以及 Windows 的部分内核,都是使用 C 语言进行开发的。C语言能够直接访问硬件资源,可以实现对硬件设备的驱动程序开发,使得计算机能够识别和使用各种硬件,如显卡、声卡、网卡等。

2402_83192253的博客 1108

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C语言基础笔记

/ 定义数组int arr[5];// 初始化数组// 省略大小的初始化指针是存储另一个变量内存地址的变量。int *p;// 定义一个指向整型的指针char *cp;// 定义一个指向字符型的指针float *fp;// 定义一个指向浮点型的指针// 定义一个表示学生的结构体int age;float gpa;

weixin_74748597的博客 1157

C语言基础语法汇总

C语言基础语法汇总

qq_46332212的博客 4183

【19c】Oracle 19c rac的搭建

Oracle 19c rac的搭建 hostnamectlset-hostnameraclhr-19c-n1 hostnamectlset-hostnameraclhr-19c-n2 #PublicIP 192.168.59.52raclhr-19c-n1 192.168.59.53raclhr-19c-n2 #PrivateIP 192.168.2.52...

viviliving的专栏 3995
上一篇: c语言基础笔记18
下一篇: c语言基础笔记20
Ohrkaninchen
博客等级 码龄5年 18粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ohrkaninchen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值