c语言快速入门
文章平均质量分 78
劲夫学编程
扬州大学软件工程在读研究生
C语言学习在《C语言快速入门》和《C语言考研重置版》,个人建议看考研重置版,讲的更详细
数据结构详解在《数据结构专栏》
数据结构代码在《数据结构代码汇总》
JAVA学习在《JAVA快速入门》和《java EE》
读者可自行查看作者专栏,与君共同进步
展开
-
C语言程序的编译+链接详解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-10-18 19:18:26 · 3583 阅读 · 1 评论 -
怒肝1.5万字——史上最全C语言文件操作详解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、为什么使用文件二、什么是文件?2.1程序文件2.2数据文件2.3文件名三、文件的打开与关闭3.1文件指针3.2文件的打开与关闭四、文件的顺序读写五、文件的随机读写六、文本文件和二进制文件七、文件读取结束的判断八、文件缓冲区一、为什么使用文件我们前面学习结构体时,写了通讯录的程序,当通讯录运行起来时,可以给通讯录增加、删除数据,此时的数据是存放在内存中的,当程序退出时,通讯录的数据就被销毁了,下次运行通讯录时,数据又得重新录原创 2021-10-13 17:47:26 · 604 阅读 · 5 评论 -
C语言柔性数组详解
前言可能大家第一眼看到这个标题会有点懵,到底什么是柔性数组,我怎么从来没听说过?但柔性数组确实是存在的,也经常会出现在一些公司的面试题中,今天就跟着笔者来学习一下柔性数组吧。提示:以下是本篇文章正文内容,下面案例可供参考一、柔性数组是什么?C99中,结构体中的最后一个元素允许是未知大小的数组,这就叫作柔性数组,for example: struct st_type{ int i; int a[0];//柔性数组成员,也可以写int a[];};结构体成员a数组,它的数组大小是没有确原创 2021-10-08 17:48:30 · 6840 阅读 · 20 评论 -
动态内存分配+常见错误精讲
文章目录前言:为什么存在动态内存分配?一、动态内存函数1.malloc和free函数2.calloc函数2.realloc函数二、常见错误1.对NULL指针解引用2.对动态开辟空间的越界访问3.对非动态开辟使用free函数4.使用free释放一块动态内存开辟内存的一部分5.对同一块空间多次释放总结前言:为什么存在动态内存分配?我们已经掌握的内存开辟方式如下int a=10;//在栈空间上开辟4字节char arr[10]={0};//在栈空间上开辟10字节连续空间以上开辟空间的方法有两个缺点.原创 2021-09-28 23:41:41 · 645 阅读 · 0 评论 -
直击热门考点——结构体内存对齐
文章目录前言一、引例二、小试牛刀三、嵌套结构体的特殊情况四、关于为什么存在内存对齐总结前言在掌握基本的结构体使用后,我们在面试和大型比赛中常常会遇到一个热门考点:结构体内存对齐,也就是计算结构体大小。接下来请跟着笔者一起来学习这块知识点吧!提示:以下是本篇文章正文内容,下面案例可供参考一、引例到底什么是结构体内存对齐,我们用一段代码来介绍一下struct S1{ char c1;//1字节 int a;//4字节 char c2;//1字节};int main(){ pri.原创 2021-09-25 17:07:41 · 282 阅读 · 3 评论 -
超详细C语言联合体union详解
文章目录前言一、联合(共用体)定义二、联合的特点及运用三、联合的大小计算总结前言上一期C语言快速入门我们学习了枚举类型及相关知识点,这期我们来跟着笔者学习一下联合体相关知识,相信聪明的你一定会有所收获!提示:以下是本篇文章正文内容,下面案例可供参考一、联合(共用体)定义联合是一种特殊的自定义类型,该种类型定义的变量也包含一系列的成员,特征是这些成员共用同一块空间,所以联合体也被称为共用体。代码如下(示例):#include<stdio.h>union Un//联合类型的声明.原创 2021-09-22 18:19:35 · 35149 阅读 · 6 评论 -
c语言最详细枚举enum讲解
文章目录前言一、枚举类型的定义二、枚举类型的使用1.创建变量2.一些优点2.读入数据总结前言生活中有很多地方会用到枚举,比如一周有7天,可以一一枚举;性别有男、女,可以一一枚举。。。今天来和笔者一起学习一下c语言枚举吧提示:以下是本篇文章正文内容,下面案例可供参考一、枚举类型的定义enum Day//enum Day是一种类型{ Mon,//周一到周日这些叫枚举的可能取值,也叫枚举常量 Tue, Wed, Thur, Fri, Sat, Sun,};上述代码定义的enu.原创 2021-09-22 16:14:26 · 3279 阅读 · 0 评论 -
进阶版指针笔试题
前言今天遇到两道非常有趣的指针笔试题,相信学完今天的笔试题,屏幕前的你对指针一定会有更近一步的理解和收获。提示:以下是本篇文章正文内容,下面案例可供参考一、笔试题1代码如下:#include<stdio.h>int main(){ int a[4] = { 1,2,3,4 }; int*ptr1 = (int*)(&a + 1); int*ptr2 = (int*)((int)a + 1); printf("%x,%x", ptr1[-1], *ptr2);//.原创 2021-09-08 22:46:15 · 220 阅读 · 5 评论 -
指针和数组笔试题详解-篇2
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、字符串赋给指针变量1.关于sizeof2.关于strlen二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、字符串赋给指针变量1.关于sizeof代码如下(示例):int main(){ const c原创 2021-09-04 18:20:55 · 153 阅读 · 1 评论 -
sizeof和strlen的具体使用+指针和数组笔试题详解-篇1
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、sizeof1.一维数组2.字符数组二、strlen2.读入数据小结前言本文详细介绍指针和数组的笔试题,具体以一维数组和指针数组为例,其他数组用到的方法是不变的,重要的是读者学会方法,举一反三提示:以下是本篇文章正文内容,下面案例可供参考一、sizeof1.一维数组学习该部分前,我们先来回顾几个知识点:1.sizeof(数组名)-计算的是整个数组的大小2.&数组名-数组名表示整个数组,取出的是整个原创 2021-09-03 21:48:09 · 234 阅读 · 2 评论 -
C语言最全操作符详解,一文精通所有操作符!
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、除号“/”二、"%"除法取余数三、左移操作符“<<”和右移操作符“>>”1.左移操作符2.右移操作符四、按位与“&”五、按位或“|”六、按位异或“^”七、赋值操作符“=”和复合赋值操作符1.赋值操作符2.复合赋值操作符八、逻辑非“!”九、&取地址操作符和*解引用操作符十、sizeof操作符十一、按位取反操作符“~”十二、强制类型转换操作符 (类型)十三、双目操作符:逻辑与&&a原创 2021-08-19 18:58:20 · 4996 阅读 · 7 评论 -
猴赛雷啊!指向函数指针数组的指针?读完本文必拿下!!!
文章目录前言一、引子?二、使用步骤1.创建函数指针数组指针2.读入数据总结前言学习本文之前,我们需要回顾一下前面的两块内容:1.函数指针2.函数指针数组接下来也就是函数指针数组指针,同学们是不是有点懵圈啊,不用着急,跟着笔者来一探究竟吧。提示:以下是本篇文章正文内容,下面案例可供参考一、引子?示例代码:显而易见地,下面的代码中,arr是一个整形数组,而p是一个指向整形数组的指针int arr[10];int(*p)[10]=&arr;这里的代码和上面的代码有什么区别?.原创 2021-08-17 18:07:53 · 242 阅读 · 0 评论 -
c语言中非常方便的函数指针数组!!附简易加减乘除计算器
文章目录一、引子二、使用步骤1.创建函数指针数组2.函数指针数组的实际使用案例总结前言提示:本文继续上一期的函数指针进行函数指针数组的讲解,学习前一定一定要先预习一下函数指针!本文的函数指针数组学习意在帮助大家建立一个简洁有效的函数使用体系,相信聪明的你学习完本文一定有收获!!!。提示:以下是本篇文章正文内容,下面案例可供参考一、引子示例:以下这个代码,我们可以很清楚的看出,arr是一个整形指针数组,数组里的每个元素均为整形指针int *arr[10];那我们就会有接下来的两个问题:.原创 2021-08-16 18:16:32 · 542 阅读 · 2 评论 -
纳尼?函数还有指针?从入门到入土,一文带你上手函数指针!!!
文章目录前言一、指针引子二、使用步骤1.取函数地址2.创建函数指针3.通过函数指针调用函数的两种方法三、函数指针进阶总结![在这里插入图片描述](https://img-blog.csdnimg.cn/e8e71151992747c099aa1b0c995f7ece.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzU3MTgwNDM5,.原创 2021-08-15 17:25:46 · 253 阅读 · 9 评论 -
C语言最详细讲解数据的存储篇2:浮点型数据的存储
文章目录前言一、引子二、浮点数的存储规则2.读入数据总结前言提示:上一篇文章,我们讲解了整形数据的存储,感兴趣的小伙伴可以翻一下笔者的数据的存储篇1。本文笔者将着重介绍浮点型数据的存储,是相对于整形数据全新的领域哦,一起学习吧!。提示:以下是本篇文章正文内容,下面案例可供参考一、引子我们用int创建了一个变量n=9,将n的地址取出,并将其强制类型转换变成了float型,然后将地址赋给了float型指针变量pFloat。我们知道n是int型,它的字节为4个,对于float*这样的指针解引用是不.原创 2021-08-13 14:22:16 · 425 阅读 · 1 评论 -
C语言最详细讲解数据的存储篇1:整形数据存储及整形提升
文章目录前言一、引子二、整形提升的具体步骤1.以上文a为例2.举一反三总结前言提示:数据存储这块知识,笔者将分两篇文章进行讲解,本篇文章主要讲解整数数据的存储,下一篇将会讲解浮点型数据。在学习数据存储前,小伙伴们最好要提前自习一下signed 和unsigned存储的区别,在内存中数据是以补码进行存储,并能快速将原反补码进行转换,还有整形提升相关知识。提示:以下是本篇文章正文内容,下面案例可供参考ps:在c语言中,char到底是signed char还是unsigned char这个是取决于编.原创 2021-08-11 13:59:21 · 206 阅读 · 0 评论 -
最干货+新手向!最详细的一文上手函数栈帧的创建和销毁
文章目录前言引子:一、局部变量是如何创建的?二、为什么局部变量的值是随机值?三、函数是如何传参的?传参的顺序呢?四、形参与实参的关系?函数调用是如何实现的?五、函数调用后是如何返回的?总结前言提示:这里采用的是vs2013的编译器,越高级的编译器函数的栈帧越不容易观察与学习。本文意在让初学者快速理解函数栈帧而不做过于深入而无意义的工作,同时,不同编译器下函数调用函数栈帧的创建是略有差异的,希望学习完本文能对读者有所帮助!引子:要了解函数栈帧,我们必须先知道ebp,esp这两个寄存器中存放的是地址原创 2021-08-07 19:51:22 · 170 阅读 · 0 评论 -
结构体(2)结构体指针符号详解及优化如何使用,一文上手指针
前言提示:这里继上一期的结构体(1),接下来我们来学习结构体指针的使用,类比其他指针并对结构体指针进行推广与引申提示:以下是本篇文章正文内容,下面案例可供参考一、结构体指针是什么?示例:我们仍用上一期的小明同学进行举例这里struct student *p=&xiaoming *p确认了p的类型是一个结构体指针,而前面的struct student确定了p指向的xiaoming是struct student类型,这里我们再次强调:结构体也是一种数据类型!!!#include <原创 2021-07-24 20:39:31 · 415 阅读 · 1 评论 -
结构体(1)初识结构体,用最通俗的大白话让你快速入门
前言在学习c语言的过程中,我们知道很多类型,for example :int 型、float型、double型、short型、long型等等,我们可以对年龄作出描述比如int age=18 对体重进行描述比如float weight=124.6等等,但如果我们要求描述一个具体的人:学生小明今年18岁,性别男,身高180cm,体重124.6kg怎么办呢?单一的类型没有办法满足我们的描述要求,结构体便应运而生。让我们跟着笔者进行接来下的结构体学习,c语言更进一步吧!提示:以下是本篇文章正文内容,下面案例可原创 2021-07-21 17:21:15 · 284 阅读 · 1 评论 -
C语言快速上手冒泡排序法,秒杀一切排序题!
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-07-15 22:38:02 · 255 阅读 · 4 评论 -
最详细的C语言二分法查找原理及实战
c语言中二分法查找是一个重难点,如何在一堆字符串(数字等等)中快速找到自己想要的?今天大家一起来掌握一下吧。 ps:这里只介绍有序的数,如果是无序的,可以用冒泡排序法先进行一下排序,这个后面会再详细介绍。 首先介绍一下二分法查找: 数组arr[10]里现有数字1 2 3 4 5 6 7 8 9 10,要查找7在哪里,如果用最简单暴力的查找方法,也就是从第一个数字开始要找7次,如果是非常大的数组,而找的数又非常大,这样的查找方法效率十分低下...原创 2021-07-14 20:00:28 · 5341 阅读 · 7 评论 -
c语言最简单易懂的辗转相除法求最大公约数,及已知最大公约数快速求最小公倍数(附证明)
我们在进行c语言学习中,求最小公倍数和最大公约数一直是一个头疼的点,今天让我们来快速学习一下辗转相除法求最小公倍数并快速求得最大公约数。 首先,什么是辗转相除法?举个栗子:现要求a和b的最小公倍数。a/b=c...t (这里确保t<b)很显然,a=b*c+t,假如a和b最大公约数为m,a/m=(b*c)/m+t/m,因为m是a的公约数,所以a/m是一个整数,同理,(b*c)/m也会是一个整数,要使得a/m=(b*c)/m+t/m成立,t/m必须是一个整数。也就是说,t是a和...原创 2021-07-13 18:19:51 · 427 阅读 · 8 评论