
C语言
文章平均质量分 91
主要介绍C语言
小钱up
执行力,就是生命力!
展开
-
【C进阶】第十五篇——内存函数
memcpy函数是一个用于拷贝两个不相关的内存块的函数。memcpy函数会从src的位置开始向后复制count个字节的数据到dest的内存位置,并返回dest的首地址。memcpy函数在遇到'\0’的时候并不会停下来。若dest和src有任意重叠,复制的结果都是未定义的(未拷贝内容被覆盖)memcpy函数在实现的时候,不知道未来会被用来拷贝什么样的数据。所以参数的指针类型为void*(可接收任意类型指针)比如我们要将数组中的1,2,3,4拷贝到arr2数组中。int main()原创 2023-01-10 18:41:58 · 6653 阅读 · 3 评论 -
【C进阶】第十四篇——字符串函数
strlen函数是一个用于求字符串长度的库函数,它的参数是被求长度的字符串的起始地址,返回值是一个无符号整型.参数指向的字符串要以'\0'结束strlen返回的是在字符串中'\0'之前出现的字符个数(不包含'\0')注意函数的返回值为size_t,是无符号的(易错)举个例子,比如我们要求字符串"abcded"的长度int main()return 0;stcpy函数是一个用于拷贝字符串的函数,即将一个字符串中的内容拷贝到另一个字符串中(会覆盖掉原字符串内容)。原创 2023-01-10 16:18:32 · 6680 阅读 · 3 评论 -
【C进阶】第十三篇——指针详解
堆栈有栈顶指针,队列有头指针和尾指针,这些概念中的"指针"本质上是一个整数,是数组的索引,通过指针访问数组中的某个元素,经过学习我们在间接寻址那里看到了另一个指针的概念,这几个变量的内存布局如下图所示,在初学阶段经常要借助于这样的图来理解指针。这里的&是&i表示取变量i的地址,int *pi=&i;表示定义一个指向int型的指针变量pi,并用i的地址来初始化pi.我们讲过全局变量只能用常量表达式初始化,如果定义int p=i;原创 2023-01-10 11:58:40 · 9078 阅读 · 5 评论 -
【C进阶】第十二篇——指针(二)(函数指针+函数指针数组+回调函数)
整型指针是指向整形的指针,数组指针式指向数组的指针,其实函数指针就是指向函数的指针()的优先级要高于*一个变量出去了变量名,便是它的变量类型一个指针变量除去了变量名和*,便是指针指向的内容的类型{}int main(){//取出函数的地址放在函数指针p中return 0;}那么,函数指针p的类型我们是如何创建的呢?首先,p是一个指针,所以必须先与 * 结合,而( )的优先级高于 * ,所以我们要把 * 和p用括号括起来,让它们先结合。原创 2022-12-13 18:58:34 · 5652 阅读 · 3 评论 -
【C进阶】第十一篇——指针(一)(字符指针+指针数组+数组指针+指针参数)
我们已经知道了,整型指针是指向整型的指针,字符指针是指向字符的指针,那么数组指针应该就是指向数组的指针了.整型指针和字符指针,在使用时只需取出其整型/字符型的数据的地址,并将地址存入整型/字符型指针即可.int main(){//取出a的地址存入整型指针中//取出ch的地址存入字符型指针中return 0;}数组指针也是一样,我们只需取出数组的地址,并将其存入数组指针即可。int main(){//&arr - 数组的地址return 0;}原创 2022-12-13 18:33:04 · 5726 阅读 · 3 评论 -
【C进阶】第十篇——数据在内存中的存储
char //字符数据类型short //短整型int //整型long //长整型long long //更长的整型float //单精度浮点数double //双精度浮点数1.使用这个类型开辟内存空间的大小(大小决定了使用范围)假设我们在内存中定义了两个变量,A变量是int类型,B变量是char类型。原创 2022-12-13 14:13:25 · 4766 阅读 · 3 评论 -
【C初阶】第九篇——函数栈帧的创建与销毁
在我们前期的学习编程过程中,我们会遇到许多诸如:"局部变量是如何创建的?","形参和实参有什么关系?","为什么局部变量是随机值?","函数调用时如何调用的?"等等的一些问题,今天就带大家一起了解vs2013编译器下的函数栈帧的创建于销毁,当然不同的编译器底下的这个过程有略微的差异,但大体上相同.原创 2022-12-13 11:34:27 · 4165 阅读 · 3 评论 -
【C初阶】第八篇——结构体
结构体是一些值的集合,这些值称为成员变量.结构的每个成员可以是不同类型的变量.有了结构体类型,那如何定义变量,其实很简单.{int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//初始化:定义变量的同时赋初值。struct Stu //类型声明{//名字int age;//年龄};//初始化{int data;//结构体嵌套初始化//结构体嵌套初始化。原创 2022-12-12 20:41:16 · 4270 阅读 · 3 评论 -
【C初阶】第七篇——指针
在计算机科学中,指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器中另一个地方的值.由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元.因此,将地址形象化称为"指针",意思是通过它能找到以它为地址的内存单元.那么我们可以这样理解:在内存中,内存被细分为一个个大小为一个字节的内存单元,每一个内存单元都有自己对应的地址.可以将这些内存单元看作是一个个房间,将内存单元(房间)对应的地址形象地看成房间的门牌号。原创 2022-12-12 18:20:11 · 4533 阅读 · 2 评论 -
【C初阶】第六篇——操作符详解
逻辑反操作- 负值+ 正值& 取地址sizeof 操作数的类型长度(以字节为单位)~ 对一个数的二进制按位取反-- 前置、后置--++ 前置、后置++* 间接访问操作符(解引用操作符)(类型) 强制类型转换。原创 2022-12-12 18:14:22 · 4041 阅读 · 1 评论 -
【C初阶】第五篇——数组
在arr1中,在内存中有4个数组元素,除了字符'a','b','c'之外,还有一个字符串的结束标志'\0',而在arr2中,则只有字符'a','b','c',对这两个字符串进行输出.数组的下标规定是从0开始的,如果数组有n个元素,最后一个元素的下标就是n-1,所以数组的下标如果小于0,或者大于n-1,就会导致数组越界访问问题,超出了数组合法的空间访问.C语言本身是不做数组下标的越界检查的,编译器也不一定会报错,但是编译器不报错,并不意味着程序就是正确的,所以程序员写代码时,最好自己做越界的检查.原创 2022-12-12 15:31:24 · 4394 阅读 · 1 评论 -
<<算法很美>>——(二)详解递归思想
目录前言递归的基本概念递归的三大要素切蛋糕思维:递归简单练习题巧用递推公式解最大公约数别有洞天:递归形式进行插入排序二分查找的递归解法多分支递归:斐波那契数列浅谈递归的一些优化思路题目实战最后总结前言刚开始接触递归的时候会,我相信大部分小伙伴肯定和我一样一脸懵,又感叹太神奇了,这么短短的几行代码,竟然做了这么多事。其实我们不要畏惧它就很好学了,无非就是思考递归边界和递归式这两个概念如何运用.把原问题分解为若干个子问题,我们只要写出递归式.原创 2022-03-26 15:21:25 · 7001 阅读 · 14 评论 -
【C初阶】第四篇——函数(库函数+自定义函数+函数递归)
听过一千句关于仲夏的句子,都不及此时看到的晚霞暮色前言函数是什么?C语言中函数的分类库函数自定义函数函数的参数函数的调用小试牛刀函数的嵌套调用和链式访问函数递归牛刀小试前言大家好,我们又见面了啦,我们你们的老朋友小KK。今天我将和大家一起学习函数,这个章节是炒鸡炒鸡重要滴,不管是在项目中还是竞赛中,函数可以说是语文当中的作文,半壁江山啊!!所以这章大家务必仔细看,多练习。话不多说,gogogo!!!函数是...原创 2022-05-17 16:41:44 · 5844 阅读 · 5 评论 -
【C初阶】第三篇——分支和循环练习题(猜数字游戏+关机恶搞+模拟用户登录)
满满的前言计算n阶乘计算 1!+2!+3!+……+10!有序数组中查找具体数多个字符从两端移动,向中间汇聚模拟用户登录猜数字游戏关机恶搞前言上一章我们介绍了分支和循环语句,但不知道自己掌握的如何,这一章准备了专项练习题,大家可以做做,测试一下自己,有问题评论区留言奥!!!计算n阶乘#include<stdio.h>int main(){ int n = 0; int ret = 1; //输入n...原创 2022-05-15 11:27:50 · 5850 阅读 · 5 评论 -
【C初阶】第二篇——分支语句和循环语句(if-else+switch+while+for)
接受平凡,努力出众,承认普通,但拒绝沉沦于平庸。大家好,我是你们的老朋友,小KK。满满的前言C语言是结构化的程序语言,C语言有3个结构:1.顺序结构;2.循环结构;3.选择结构;顺序结构比较简单,我们本章主要讲解选择结构和循环结构.什么是语句?C语言中由一个分号;隔开就是一条语句,例如:printf("hehe\n");1+2;选择语句选择语句又称为分支语句,通过对给定条件进行判定,从而决定执行两个或多个分支的哪一个。在C中选择语句...原创 2022-05-11 19:03:17 · 6402 阅读 · 11 评论 -
【C初阶】第一篇——初识C语言(万字篇,带你敲响C语言的大门)
满满的目录前言什么C语言?数据类型变量和常量定义变量的方法变量的分类变量的作用域和生命周期常量字符串转义字符选择语句循环语句函数数组操作符接受平凡,努力出众,承认普通,但拒绝沉沦于平庸。大家好,我是你们的老朋友,小KK。 前言原本打算是上一年写C语言这个系列的,由于本人比较懒,再加上学校的事比较多,所以就拖到了现在,前段时间是...原创 2022-05-09 23:06:33 · 6472 阅读 · 23 评论