
C
文章平均质量分 71
青锋杨
心中有梦,眼里有光
展开
-
C语言(结构体、结构体对齐)
C语言为我们提供多个内置类型,例如我们平时最经常使用的int、char、double……就是我们常说的内置类型,但实际上内置类型并不能解决我们生活中所有的复杂问题。例如,我们需要一个学生类型,它包含班级、年级、姓名……,这便是一个内置类型所能做到的了,并且定义多个内置类型也过于混乱,这是我们所不愿看到的,于是结构体便应运而生了。结构体定义下面给出结构体定义:struct student //student为结构体类型名{ //以下为结构体所需的内置类型 char name[10];原创 2021-12-05 16:00:40 · 1007 阅读 · 0 评论 -
C语言(动态开辟二维数组 指针数组、数组指针、一维数组模拟开辟)
有了malloc函数的基本素养,就能够开辟一个一维动态数组。而一个二维数组需要如何开辟呢?好像之前的malloc素养不够用了。我们这里以开辟一个四行四列的二维数组为例。指针数组开辟先是开辟语句:int** p = (int**)malloc(sizeof(int*) * 4);for (int i = 0; i < 4; i++){ p[i] = (int*)malloc(sizeof(int)*4);}首先我们开辟了内含四个指针的指针数组:随后我们通..原创 2021-12-01 23:02:19 · 3147 阅读 · 0 评论 -
C语言(变量的生命周期、作用域、默认值、内存区域、链接属性以及函数相关总结)
在C语言中,我们总是动不动就int a , int b , charc的,就像创造一个个小人一样,看似他们无拘无束,咱们造出来就管不着了。实则,他们有着自己的寿命(生命周期),有着自己的活动范围(作用域),有着自己的国籍(链接属性),同时我们也能够通过移动变量位置和static、extern等关键字来管理他们。总表在这里也是直接为大家提供参考的总表,接下来我们用一个个程序来验证他们。内存区域在C语言所管理的内存中,我们大致可以抽象理解成为代码区、全局(静态)变量区、栈...原创 2021-11-24 22:30:57 · 885 阅读 · 1 评论 -
C语言(函数指针)
函数指针本质上是一个指针,只不过指向函数而已。编译器在编译期间对函数开辟了一块空间,而这快空间的开始地址,就是它的函数指针。下面我们也直接用最直观的程序来了解函数指针:#if 1void func(){ printf("hello ptr!");}int main(){ void (*p)(); p = func; p();}#endif在这里我们给出了func()函数,并在其中打印hello ptr! 。在这里,我们定义了一个函数指针p,大家会发现他的定..原创 2021-11-23 21:14:48 · 912 阅读 · 0 评论 -
C语言(动态内存分配)
动态内存的优点:1.可以在程序运行期间,动态的确定开辟内存的大小2.可以开辟大的内存块(堆的可开辟大小可在项目属性中的链接器中修改)动态内存主要使用到4个包含在stdlib.h库中的malloc()、calloc()、realloc()、free()函数。函数声明信息: void *malloc(size_t size); //所需内存大小 初始单位为B void free(void *ptr); //传入手动开辟内存的首地址 vo.原创 2021-11-18 22:53:43 · 559 阅读 · 1 评论 -
C语言(关于unsigned char的几个问题)
关于unsigned charunsigned char是char 的无符号类型,同char一样占用1个字节,存储范围为0~255,所存储的数据服从以下规律:数据服从于一个闭环,当我们输入0~255之间的数据之时,以0为起点,顺时针走向,与存储数据相对应,而当我们输入-1、-3、-9……的时候就会开始,以255为起点,逆时针走向,逐渐递减,分别存储255、253、247……逆时针满足绝对值相加为256原则:习题演示此习题中由于unsigned char类型定义的b...原创 2021-11-13 13:00:34 · 18348 阅读 · 0 评论 -
C语言(经典编程题:报数游戏)
题目描述有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。题目分析这便是整体的题目流程,大家围成一个圈,愉快的报着数,报到3的人直接out,下一个小伙伴再次从一开始报起,直到我们的决赛圈:在这也是恭喜我们的m+x号同学获得游戏胜利,可他究竟是谁呢?这也正是我们编程所要解决的目标。编程解决做这道题的思路其实也正是我们用代码来把整个游戏过程表示出来,让电脑来帮我们依次报数、淘汰、找出决胜者。...原创 2021-11-07 18:07:41 · 12181 阅读 · 1 评论 -
C语言(经典编程题:获取字符串中最长单词)
应用示例示例字符串:const char* str="student work homework library"函数:Get_MaxWord(str)输出结果:homework算法分析就题目整体而言,我们需要挑选出字符串其中一个个单词,将其字符长度进行比较,得出最长字符串并予以返回。整体算法十分的简单,但我们要如何用C语言的代码用以实现呢?面对此题,我们首先应该明白我们是从整体字符串中选取局部字符串,为此我们需要一个缓冲字符数组来接收我们从中获取的一个单词。与此同时,我.原创 2021-11-06 14:10:19 · 8041 阅读 · 3 评论