C语言
文章平均质量分 88
卖寂寞的小男孩
在真正学技术的时期,要做到口不贪佳昧,耳不乐逸声,目不淫欲色,身不怀于安,朝夕励志,强吾之羸。有过必梭,有不善必惧,操好人生大旗的同时也要始终记得沉默是金。
C++领域优质博主,华为云云享专家
展开
-
C文件操作
1.原创 2021-10-12 10:56:12 · 405 阅读 · 1 评论 -
C语言字符函数与内存函数(让你的代码缩短一倍)
1.求字符串的长度size_t strlen( const char *string );1.含义:MSDN:get the length of strlen(得到字符串的长度)2.参数:const char *string即传入一个字符串的地址,即字符串首元素的地址。3.返回值:返回一个无符号的整型size_t。证明:#include<stdio.h>int main(){ if (strlen("abcde") - strlen("abcdef原创 2021-09-21 17:01:10 · 484 阅读 · 13 评论 -
C预处理详解
什么是预处理预处理是程序在翻译环境中编译过程的第一步。下面来说一说预处理阶段都发生了什么。1.处理预定义的符号__FILE__:正在编译的源文件。__LINE__:文件当前行号。__DATE__:文件被编译日期。__TIME__:文件被编译时间。__STDC__:判断编译器是否遵循ANSI C若遵循则为1,否则未定义。#include<stdio.h>int main(){ int a = 10; int b = 20; printf("%s\n",原创 2021-10-15 09:09:44 · 537 阅读 · 1 评论 -
C语言指针面试题解析(万字超多题,每题都有详解)
零.前言最近刚完成一篇c语言指针的超详解,趁热打铁搞点面试题来做一做呀,并为大家解析一波,让我们刷出自信,刷出问题,刷出offer,刷出你刚吃的晚饭(狗头保命)。原创 2021-09-08 23:48:17 · 3131 阅读 · 5 评论 -
KMP算法详解与C语言实现
1.什么是KMP算法KMP算法是一种字符串匹配算法,即在主字符串查找模式字符串(简单来说就是判断一个字符串中是否包含另一个字符串),是C语言库函数strstr的算法优化。2.通常情况下的字符串匹配首先来讲一讲不用KMP算法的字符串匹配,便于理解之后KMP算法,和KMP算法的优势。首先建立一个字符串作为主串:char a[]="abcbabc";这个字符串在内存中是这样存放的:假设现在要在这个字符串中查找字符串"ba"。即我们也要定义一个数组来放"bca"。b[2]="bc.原创 2021-09-21 12:04:57 · 1975 阅读 · 5 评论 -
C语言中位段内存的探讨研究
目录1.char->int2.char->long long3.int->char4.long long->char5.int->long long6.long long->int7.char->int->long long8.char->long long->int9.int->char->long long10.int->long long->char11.lon.原创 2021-09-25 15:57:00 · 234 阅读 · 0 评论 -
C语言学会自定义类型这一篇足够了(万字呕心沥血总结)【致敬:我们仍然相信光】
1.什么是自定义类型在C语言中元素的类型分为内置类型和自定义类型,内置类型就是我们经常使用的int,char,long,double之类的类型,而自定义类型就是我们自己为自己的变量创造的类型,如果说变量是一栋房子,那么类型就是建造它的图纸,除了C语言给定的图纸之外,我们还要自己创造一个属于一栋独一无二房子的图纸。自定义类型主要分为三种:结构体,枚举和联合体。1.结构体1.结构体的含义C语言结构体(Struct)从本质上讲是一种自定义的数据类型,只不过这种数据类型比较复杂,是由 int、c原创 2021-09-27 17:02:59 · 475 阅读 · 3 评论 -
在堆区开辟内存(动态内存的开辟)
1.基本概念1.什么是动态内存大家看这样一幅图片,我们通常定义的变量是在栈区为他分配空间,而如果使用malloc,calloc,realloc这样的函数就是在堆区为他开辟空间。2.开辟动态内存的作用1.在栈区开辟的空间...原创 2021-10-04 21:52:16 · 3042 阅读 · 9 评论 -
C语言指针这一篇够了(一万二千字,包含指针与数组,函数指针等详解)
1.指针的定义指针(Pointer)就是内存的地址,C语言允许用一个变量来存放指针,这种变量称为指针变量。指针变量可以存放基本类型数据的地址,也可以存放数组、函数以及其他指针变量的地址。int a=10; //定义一个变量aint* pa=&a;//定义一个指针pa指向a*pa=9; //通过对指针的解引用修改a的值其中修改a的值得过程与 a=9 等价。注意两个‘*’的意义不同,第一个‘*’是与int连用的,表示指针类型是(int*),第二个'*'是解引用操作符。原创 2021-09-01 22:52:43 · 3911 阅读 · 25 评论 -
C语言操作符(超详细满满干货)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 1.算术操作符 2.移位操作符 3.位操作符 4.赋值操作符 5.单目操作符 6.关系操作符 7.逻辑操作符 8.条件操作符 9.逗号表达式 10.下标引用,函数调用,结构体成员操作符 11.整型提升 12.算数转换 13.操作符常见错误用法 操作符优先级表总结前言暑假漫漫,复习了一下C语言操作符部分,发现操作符像是一个在C语言中被严重低估的部分,我们每天写代码一定会用..原创 2021-08-14 22:31:05 · 657 阅读 · 3 评论 -
C语言关于结构体的几种形式
C语言引用结构体的目的就是让程序员可以自己定义一种类型创建该类型的变量。下面的内容均包含这两部分。均以一名学生的信息为例1.基础型定义类型struct student{char name[20];int id;int age;};创建变量struct student s1;s1为这一结构体的一个变量2.合二为一型(数据类型与该类型的变量同时创建)struct student{char name[20];int id;int a.原创 2021-08-03 17:45:46 · 526 阅读 · 1 评论 -
由源文件到可执行文件
1.程序的翻译环境与执行环境1.引入我们在编写程序的时候,写入的是一个.c文件,最后执行出来的是.exe文件,本文粗略讨论的就是这一过程。2.翻译环境与执行环境任何一个程序在由.c文件转换成.exe文件的过程中都需要经过两个环境,即翻译环境与执行环境。1.翻译环境:在这个环境中源代码被转换为可执行的机器指令。2.执行环境它用于实际执行代码。3.过程图解这个就是.c文件转换成.exe文件的主要流程。一个.c程序经过预处理-->编译-->汇编--&g.原创 2021-10-13 15:52:07 · 593 阅读 · 2 评论