
C语言
文章平均质量分 66
C语言相关知识
m0_62616069
这个作者很懒,什么都没留下…
展开
-
指针篇(高)
1.字符指针字符指针是一个指向字符串的指针,它存储着一个字符地址,指向一个常量字符串,并且字符串不可修改。以下是定义:const char* ch="abcd";//"abcd"称为常量字符串因为ch指针指向的字符串不能被修改,而且被修改了程序会奔溃,因此可以加上constch储存着常量字符串的首元素地址,也就是’a’的地址,"abcd"是常量字符串,不能被修改,被储存在只读数据区,当被引用时返回首字符地址。这里我讲讲被常量字符串被调用返回的情况:const char ch1 ="abc原创 2022-04-04 23:33:14 · 274 阅读 · 0 评论 -
程序环境与预处理
一:程序环境程序环境分为两个环境一个是翻译环境:将源代码转换为机器可执行的指令一个是执行环境:用于实际执行代码二:详解编译和链接翻译环境可以分可两个阶段:编译和链接编译:编译本身可以分为三个阶段,分别是预处理,编译和汇编预处理预处理阶段对源代码进行是文本操作,然后将.c文件变成.i文件1:展开头文件将include包含的头文件进行替换,替换成头文件的内容2:删除注释认为写的注释只是为了我们更好的理解代码,而计算机不需要3:#define定义符号的原创 2022-03-28 11:06:12 · 582 阅读 · 0 评论 -
C语言文件操作
一:为什么使用文件 我们在程序设计的时候,可能需要数据进行长久保存,而不是单纯随着程序的结束就丢失数据,那么就需要将数据保存到文件中。使用文件我们可以将数据直接保存在电脑的硬盘中,做到了数据的持久化。二:什么是文件在程序设计中我们谈的文件一般有两种:程序文件和数据文件(从功能角度区分)程序文件:包括源文件(后缀为.c),目标文件(后缀为.obj)可执行程序(后缀为.exe)数据文件:文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行时在文件中输出或者读取.原创 2022-02-26 11:31:23 · 331 阅读 · 0 评论 -
C语言中的自定义类型(结构体,枚举,联合)
结构体类型原创 2022-02-18 11:57:34 · 446 阅读 · 0 评论 -
常用的字符串函数和内存函数
一:字符串函数strlenstrlen函数作用是计算字符串长度的函数原理:循环一遍字符串,遇到\0的时候停止,并返回字符串长度(不包括'\0')代码实现:int strlen(const char* ch){ assert(ch);//判断ch是不是空指针 int count=0; while (*ch != '\0') { count++; ch++; } return count;}strcpystrcpy函数作用是拷贝字符串原理:循环一遍原创 2022-01-22 21:12:29 · 455 阅读 · 1 评论 -
C语言指针篇(初)
一:什么是指针指针是一种具有指向性的东西,在现实生活中,我们想要去到某一个具体地方,比如去朋友家,那么就必须要有盆友家的地址。在计算机中,如果我们要想访问一块内存空间,那么我们也可以拿到这块内存空间的地址来进行访问,在计算机中的内存地址也可以称为指针。指针变量是用来存放指针的一种变量,我们可以将地址存放到指针变量中。 //指针变量的创建:类型名* 变量名 或者 类型名 *变量名 int* i; int *i;&和*操作符&->取地址操作符,用来原创 2022-01-19 20:45:36 · 456 阅读 · 9 评论 -
C语言qsort函数解析(和使用方法)
qsort首先上面是qsort函数的定义,括号里面4个又长又臭的名字是使用qsort函数时需传入的参数。void* _Base是我们要比较的数组中的起始位置size_t _NumOfElements是要比较的元素个数原创 2022-01-18 19:57:44 · 709 阅读 · 0 评论 -
青蛙跳台阶问题(和进阶)
一只青蛙一次可以最多跳2级台阶,求青蛙跳上n级台阶有多种跳法?当 n=1时,青蛙只有一种跳法;当n=2时,青蛙有两种跳法;当n=3时,有三种跳法,我们可以先跳一级再跳1级;先跳1级,再跳1级;一级一级的跳;共三种跳法;当n=4时,我们可以先跳一级台阶,再跳3级台阶;还有一种跳法是先跳2级台阶,再跳2级台阶;因为跳三级台阶有三种跳法,所以2+3=5;当n=5时,我们可以先跳1级台阶,再跳4级台阶;先跳2级台阶,再跳3级台阶;总跳法为3级台阶+4级台阶的跳法;当n=m的时候,总跳法为原创 2022-01-16 20:13:09 · 625 阅读 · 5 评论 -
详解c语言整形和浮点数在内存中的存储
数据在计算机的存储方式(补码,反码,原码)在32位机器上,计算机储存数据是用32个比特位来储存数据,也就是32个0,其中第一位数为符号位,大多数情况用来表示整数是正的还是负的,我们先从原码说起,1和-1的原码分别为:正数的反码不变,负数的反码在其原码的基础上符号位不变,其他位按位取反(0变成1,1变成0),即:正数的补码还是不变,负数的补码在其反码的基础上加1:所以我们可以总结:正数的原码,反码和补码都相同,而负数的原码,反码和补码在转换时才会不同,计算机在储存整形时用的都是..原创 2021-11-27 12:55:56 · 4182 阅读 · 6 评论 -
C语言rand和srand函数的简单介绍和用法
介绍:在c语言中,我们想要在一个范围内随机生成一个数字,我们就需要用到rand函数,生成大小为0到32767的整数,但仅靠rand生成的数是伪随机的数,如下:第一次运行n次:第二次运行n次:他们的运行的数都是一样的这时候我们就需要用到srand函数来给rand函数提供随机数种子,怎么提供呢,打一段代码来看看:但是当我们把srand设置在这个无限循环体的外面时,:你看,它就能产生一个随机数,因为再循环体中我们一直给rand()函数一直重复提供同一个随机...原创 2021-10-29 19:36:27 · 2085 阅读 · 2 评论 -
C语言中的循环语句和分支语句⊙▽⊙
while和do~while循环在while循环语句中,while的语法格式为当不满足循环条件时,while循环会结束或者不会进行循环do~while的语法格式为而在do~while循环与while不同在于,无论满不满足do~while循环的循环条件,它至少都会循环一次大括号中的语句,而当第一次循环条件满足的时候,它们循环的次数是一样的。for循环语句for循环的语法格式为for相比while的优点在与它将赋值,循环条件和调整结合在一个一个..原创 2021-10-26 23:42:57 · 273 阅读 · 5 评论 -
C语言中的常量的简单介绍和认识⊙▽⊙
字面常量字面常量,其实就是字面上的意思,如下这样单单的一个整形,浮点数,字符和字符串我们称他为字面常量#define定义的标识符常量语法格式为#define+要定义的常量名+值而且被#define定义的常量不能被修改除此之外define还可以定义函数,字符串枚举常量定义枚举类型就是方便我们一一列举生活中可以列举的东西...原创 2021-10-24 23:58:42 · 204 阅读 · 0 评论 -
C语言关键字static的简单介绍⊙▽⊙
static的用法一:我们写个代码和它的运行结果 但是当我们在建立z这个变量钱加上static会使得z再下次循环中不会重新被赋值二:当我们想使用外部文件的变量或者函数,我们可以使用extern关键字来申明一下但是当我们不想这个文件被其他的文件使用时,我们可以加上static简单介绍一下静态区,堆区和栈区静态区:用来储存静态变量和全局变量堆区:程序员自己用来使用和释放内存栈区:用来存放局部变量和函数的参数值关键字sta...原创 2021-10-22 23:47:59 · 210 阅读 · 2 评论