
C语言从入门到精通
文章平均质量分 75
@A云淡风轻
越努力越幸运
展开
-
C语言之模拟实现函数atoi
当然,用户也可能输错,遇到一些不合法的情况,像空指针、字符串为空、空白字符、正负号处理、非数字字符、越界(INT_MAX)如果给的值是正确的,合法的,我们可以用一个const char* str指针指向头,定义long long n = 0;hello,大家好,希望这篇文章可以帮助到您。直到遇到‘\0’, 此时状态是合法的。...原创 2022-08-08 00:02:41 · 362 阅读 · 0 评论 -
C语言之程序环境和预处理(2)
语法: #define name stuffname:标识符名字,stuff:标识符的值,将要被替换的东西。# define MAX 1000 # define reg register //为register这个关键字,创建一个简短的名字 # define do_forever for(;;) //用更形象的符合来替换一种实现 # define CASE break;case //在写case语句的时候,自动把break写上。......原创 2022-08-07 22:23:26 · 396 阅读 · 0 评论 -
C语言之程序环境和预处理(1)
_FILE__ //进行编译的源文件 __LINE__ //文件当前的行号 __DATE__ //文件被编译的日期 __TIME__ //文件被编译的时间 __STDC__ //如果编译器遵守ANSI C,其值为1,否则未定义i < 10;i ++) {}运行结果:给代码做个备忘录,记录它的一些信息。return 1;i < 10;}...原创 2022-08-03 16:34:51 · 138 阅读 · 0 评论 -
C语言文件操作那些事儿(2)(fseek、ftell、rewind、feof、fflush)
非淡泊无以明志,非宁静无以致远。原创 2022-08-03 11:13:55 · 247 阅读 · 0 评论 -
C语言文件操作那些事儿(1)(fpuc、fgetc、fputs、fgets、fprintf、fscanf、sprintf、sscanf、fwrite、fread)
磁盘上的文件是文件。(硬盘是磁盘的一种类型)但是在程序设计中,我们一般谈的文件有两种程序文件、数据文件(从文件功能的角度来分类的)。原创 2022-07-27 23:00:29 · 351 阅读 · 0 评论 -
C语言之柔性数组那些事儿
探索编程世界的大门,让我们一起出发。原创 2022-07-26 21:38:04 · 190 阅读 · 0 评论 -
C语言之动态内存管理(malloc、calloc、realloc)
这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查返回值的类型是void*,所以malloc函数并不知道开辟空间的类型,具体在使用的时候由自己来决定如果参数size为0,malloc的行为是标准未定义的,取决于编译器free函数用来释放动态开辟的内存。如果参数ptr指向的空间不是动态开辟的,那free的行为是未定义的。free(p);...原创 2022-07-26 18:47:28 · 104 阅读 · 0 评论 -
C语言之自定义类型(结构体、枚举、联合(共用体))
结构体结构体的一些特殊声明结构体的自引用结构体内存对齐(热门考点)offsetof为什么存在内存对齐?修改默认对齐数结构体实现位段(位段的填充&可移植性)什么是位段位段的内存分布位段的跨平台问题位段的应用枚举枚举类型的定义枚举的优点枚举的使用联合(共用体)联合类型的定义联合的特点利用联合的特定判断机器大小端联合的大小计算位段的声明和结构是类似的,有两个不同1.位段的成员必须是int、unsighedint、sighedint或char。2.位段的成员后面有一个冒号和一个数字。...原创 2022-07-23 19:36:05 · 332 阅读 · 0 评论 -
C语言之内存操作函数(memcpy、memmove、memecmp、memset)
大家好,希望这篇文章能帮助您解决问题(•̀ω•́)✧。原创 2022-07-22 16:58:38 · 597 阅读 · 0 评论 -
C语言之字符分类函数、字符转换(isdigit、islower、isupper、isalpha、tolower、toupper等等)
q@建议大家装一个小工具,MSDN,可以很快了解各种C语言函数的内容。原创 2022-07-21 22:16:49 · 267 阅读 · 0 评论 -
C语言之字符函数和字符串函数(strlen、strcpy、strcat、strcmp、strncpy、strncat、strncmp、strstr、strtok、strerror)
Hello大家好!大家可以根据所需,阅读自己想查的字符串函数即可,让我们一起加油!希望对您有所帮助(•̀ω•́)✧。原创 2022-07-21 17:34:53 · 172 阅读 · 0 评论 -
你要悄悄努力,然后成为C语言高手--指针进阶(4)之指针和数组笔试题
小知识通常情况下,数组名表示数组首元素的地址,有两种情况例外sizeof是一个操作符,计算的是对象所占内存的字节大小。1.sizeof(数组名),这里的数组名表示整个数组,sizeof(数组名)计算的是整个数组的地址。2.&数组名,这里的数组名表示整个数组,取出的是整个数组的地址。...原创 2022-07-17 22:44:28 · 270 阅读 · 0 评论 -
C语言之库函数qsort的那些事儿
hello,大家好,今天我们来谈一谈C语言库函数qsort的那些事儿。这个比较函数是我们自定义的函数,使用者根据自身实际情况,实现2个元素的比较运行结果://1.按照年龄进行排序//2.按照名字进行排序2.模拟实现一个qsort函数这里基于的不是快速排序算法,而是冒泡排序算法运行结果:如果对您有所帮助,可以点个赞和关注哦,让我们一起学习和提高😘,加油,加油,加油!!!......原创 2022-07-12 22:14:58 · 419 阅读 · 0 评论 -
你要悄悄努力,然后成为C语言高手--指针进阶(3)之指向函数指针数组的指针、回调函数
学习难吗?难!但又不难,不难的是你可以学习到知识,难的是你学的的知识会忘,所以,温故而知新就显的很重要了!( •̀ ω •́ )✧今天我们一起来学习指针的进阶(3)!指向函数指针数组的指针是一个指针,指向的是一个数组,数组的元素是函数指针如何定义?图解如下:举个例子:如果对您有所帮助,可以点个赞和关注哦,让我们一起学习和提高😘,加油,加油,加油!!!...原创 2022-07-12 19:34:56 · 174 阅读 · 0 评论 -
你要悄悄努力,然后成为C语言高手--指针进阶(2)之数组传参,指针传参,函数指针,函数指针数组
Hello,大家好,我们又见面了,今天我们一起来学习指针进阶(2)😍思考:当一个函数参数部分为一级指针的时候,函数能接收什么参数?2.2二级指针传参参考如下:对了,这里给大家讲一个小东西,大家在刷leetcode的时候有没有发现这样一个问题,对于一个二维数组,leetcode上的函数参数可以写成void test(char** ppc),可以正常访问,这就有点奇怪了,二维数组的数组名是首元素的地址,二维数组的首元素相当于一个一维数组,那么函数参数部分应该写成一个数组指针,这里为啥是二级指针?答.原创 2022-07-12 00:04:51 · 187 阅读 · 0 评论 -
你要悄悄努力,然后成为C语言高手--指针进阶(1)之字符指针、指针数组、数组指针
学习难吗?难!但又不难,不难的是你可以学习到知识,难的是你学的的知识会忘,所以,温故而知新就显的很重要了!( •̀ ω •́ )✧今天我们一起来学习指针的进阶!**字符指针:**指向字符的指针,存储的是字符变量的地址。先看一个比较熟悉的字符指针接着往下:运行结果:对于内存的常量区只读,我们在来看一道题:大家的答案是啥?正确答案如下:指针数组:存放指针的数组图示:数组指针是数组还是指针,答案是指针。数组指针:一个指向数组的指针。来,判断一下:答案:p1是一个大小为十个元素,每个原创 2022-07-09 23:33:27 · 243 阅读 · 0 评论 -
C语言结构体那些事儿
大家好,此文主要讲解结构体的初阶基本知识,结构体的进阶会放到下一篇文章,欢迎大家阅读学习。我们之前学过的数据类型像char,short,int等,它们是孤立的数据类型,表示一些单一的对象,对于像学生这种复杂对象,我们不会说用一个数据类型来表示,一般会用一组值来表示,比如:名字(字符数组)+年龄(整型)+性别(字符数组)+成绩(浮点数)等。tag 是结构体标签,member-list是成员列表,variable-list 是变量列表。例如,学生这个结构体1.3结构体成员的类型结构体成员可以是标量,数组原创 2022-07-08 17:24:17 · 136 阅读 · 0 评论 -
size_t类型是什么意思?
size_t中的t是type(类型)的意思。它是C语言内部预定义的一种类型。typedef unsighed int size_t;可见,它是一种长度(尺寸)类型,可当成unsighed int 使用,大多用来表示数组长度,字符串长度。原创 2022-05-03 14:46:16 · 759 阅读 · 0 评论 -
你要悄悄努力,然后成为C语言高手--C语言中数据的存储
亲爱的,你好,看到这篇文章咱们即是有缘🥰,不耽误大家宝贵的时间,咱们直接开始正题。今天我们要学习的是C语言中的数据在内存中是如何存储的。数据类型的介绍阿迪斯数据类型的介绍类型的基本归类...原创 2022-03-05 16:50:50 · 559 阅读 · 2 评论 -
你要悄悄努力,然后成为C语言高手--Visual Studio编译器的调试
时间无言,而岁月永恒,犯错跌倒并不可怕,重新开始再出发;同样程序遇到错误也不可怕,我们可以改正,可以通过调试加以改正。如何调试呢?今天我将和大家一起来学一学Visual Studio编译器调试的那些事。实用调试技巧1、什么是bug?2、调试是什么?有多重要2.1 调试是什么?2.2 调试的基本步骤3、Debug和Release的介绍4、windows环境调试介绍5、一些调试实例实例一:求1~3阶乘的和实例二:经典问题 下面程序会发生什么?运行结果是什么?6、如何写出好的,易于调试的代码实例一:模拟实现库函原创 2022-02-27 19:58:30 · 373 阅读 · 0 评论 -
你要悄悄努力,然后成为C语言高手--C语言中函数栈帧的创建和销毁
hello 大家好!我们又见面了。今天我们一起来学习C语言中的函数栈帧的创建和销毁部分,希望您能花点您宝贵的时间,让我们一起学习和提高,有点小激动呢?有木有?😊😊😊原创 2022-02-24 21:52:22 · 525 阅读 · 0 评论 -
你要悄悄努力,然后成为C语言大佬--C语言中数组详解。
hello 大家好!我们又见面了。今天我们一起来学习C语言中的数组部分,希望您能花点您宝贵的时间,让我们一起学习和提高,有点小激动呢?有木有?????????????本章重点一维数组的创建和初始化一维数组的使用一维数组在内存中的存储二维数组的创建和初始化二维数组的使用二维数组在内存中的存储数组作为函数参数一维数组的创建和初始化说到数组,那到底什么是数组呢?数组是一组相同类型元素的集合。数组的创建方式:type_t arr_name [const_n]//type_t 是数组的元素类型//con原创 2021-08-19 15:57:21 · 299 阅读 · 0 评论 -
你要悄悄努力,然后成为C语言大佬--冒泡排序
hello 大家好!我们又见面了。今天我们一起来学习C语言中的冒泡排序,希望您能花点您宝贵的时间,让我们一起学习和提高。冒泡排序(无序排成升序)代码如下:void Bubble_sort(int arr[],int sz){ int i = 0; for (i = 0; i < sz - 1; i++)//确定冒泡排序的趟数; { int flag = 1;//假设这一趟排序已经有序 //每一趟冒泡排序 int j = 0; for (j = 0; j < sz -原创 2021-08-19 11:21:33 · 96 阅读 · 0 评论 -
一文搞定C语言中的getchar()和putchar()用法
欢迎大家与我一起学习和提高,希望此文能帮助您。getchar()和putchar()是输入输出类函数,调用他们时需要引用头文件#include <stdio.h>,**getchar()**用于读取用户从键盘输入的单个字符,读取正确会返回一个整型值,即字符的ASCII码值,读取错误会返回-1;值得注意的是getchar()首次被调用时会让你从键盘输入字符或字符串(输入数字也会被转化成字符),然后按下回车,这有一个大家容易忽略的点,就是回车这个字符‘\n’,也会存储在键盘缓冲区中,下面会给例子;原创 2021-08-09 22:08:49 · 6472 阅读 · 1 评论 -
你要悄悄努力,然后成为C语言大佬——入门C语言第一天:初识C语言(1)
编程世界很大很奇妙,此文对C语言初学者极友好,欢迎大家与我一起学习交流和提高。初识C语言:本章目标:本章重点:什么是C语言?第一个C语言程序数据类型(重要)小练习变量,常量变量的作用域和生命周期本章目标:基本了解C语言,对C语言有一个大概的认识。本章重点:什么是C语言?C语言是一门计算机语言,它是人与计算机之间进行交流的语言,可类比汉语,英语,它们是人与人之间交流的语言。计算机语言是二进制语言。第一个C语言程序#include <stdio.h>int main(){pr原创 2021-07-23 19:50:57 · 1129 阅读 · 0 评论