![](https://img-blog.csdnimg.cn/20190210213159355.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言知识点的理解与总结
对C语言中一些比较重要的且难以理解的知识点进行一定的总结, 其中有作者自己的一些见解, 有不足的地方还请大家见谅
_Saoke
曾以为走不出去的日子
现在都回不去了
展开
-
基础IO---fread和fwrite的使用
什么是 fread 和 fwritesize_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);ptr: 一个指向内存块(大小至少为size * nmemb)的指针size: 读取元素的大小nmemb: 读取元素的个数stream: 字符流指针size_t fwrite(const void *ptr, size_...原创 2019-04-25 18:23:50 · 817 阅读 · 0 评论 -
#pragma once 和 #ifndef 的总结
在C/C++中,在使用预编译指令#include的时候,为了防止重复引用造成二义性,通常有两种方式——第一种是#ifndef指令防止代码块重复引用,比如说#ifndef _CODE_BLOCK#define _CODE_BLOCK // code #endif// _CODE_BLOCK第二种就是#pragma once指令,在想要保护的文件开头写入#pragma once...转载 2019-03-18 17:29:17 · 216 阅读 · 0 评论 -
C语言文件操作总结
C语言文件操作一、标准文件的读写1.文件的打开fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文件的存取操作了。当使用打开函数时,必须给出文件名、文件操作方式(读、写或读写),如果该文件名不存在,就意味着建立(只对写文件而言,对读文件则出错),并将文件指针指向文件开头。若已有一个同名...转载 2019-03-13 12:36:51 · 978 阅读 · 0 评论 -
关于malloc, calloc, realloc等内存申请相关的函数
(1)C语言跟内存分配方式<1>从静态存储区域分配. 内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量、static变量.<2>在栈上创建 在执行函数时,函数内局部变量的存储单元都转载 2019-03-05 21:27:45 · 378 阅读 · 0 评论 -
结构体、位段与联合体
前言结构体和指针是数据结构的根基,所以这篇博客这算是对结构体有一个重新的认识,主要内容包括:匿名结构体、结构体的自引用、结构体的不完整声明、结构体内存对齐、位段的使用、联合体的应用场景等等。结构体匿名结构体:匿名结构体简言之就是没有名字的结构体,在结构体的时候就已经定义它的具体结构体对象。以后再也不允许创建新的结构体。这是我遇到的第一个坑,先看看下面这段代码:#define _CRT_S...转载 2019-03-01 11:39:43 · 1491 阅读 · 0 评论 -
关于 qsort 的使用和延伸(模仿 qsort 写一个冒泡排序)
qsort 原型void qsort (void* base, size_t num, size_t size, int (*compar)(const void*,const void*));base:指向要排序的数组的第一个对象的指针,该对象转换为void*num:数组的元素个数size:数组中每个元素的大小compar:指向比较两个元素的功能函数qsor...原创 2019-02-23 14:55:24 · 133 阅读 · 0 评论 -
回调函数的理解和总结
我们对回调函数的使用无非是对函数指针的应用,函数指针的概念本身很简单,但是把函数指针应用于回调函数就体现了一种解决问题的策略,一种设计系统的思想。在解释这种思想前我想先说明一下,回调函数固然能解决一部分系统架构问题但是绝不能再系统内到处都是,如果你发现你的系统内到处都是回调函数,那么你一定要重构你的系统。回调函数本身是一种破坏系统结构的设计思路,回调函数会绝对的变化系统的运行轨迹,执行顺序,调用顺序。回调函数的出现会让读到你的代码的人非常的懵头转向。那么什么是回调函数呢,那是不得以而为之的设计策原创 2019-02-13 22:51:35 · 428 阅读 · 0 评论 -
指针函数和函数指针的理解与应用
指针函数指针函数, 即返回值为指针的函数, 本质上是一个函数, 我们先看下面实例:#include &lt;stdio.h&gt; #include &lt;time.h&gt; int year; int mon; int day; char* GetDate(); int main() { char* current = GetD...原创 2019-02-11 13:11:01 · 5078 阅读 · 3 评论 -
指针数组和数组指针的理解与应用
指针数组指针数组, 即以指针为元素的数组, 其主要应用于菜单的查找注意下面的实例:#include &lt;stdio.h&gt; int Add(int a...原创 2019-02-10 21:26:52 · 2913 阅读 · 5 评论 -
一级指针和二级指针的理解和总结
一级指针对于一级指针来讲, 我们再熟悉不过的应用就是修改实参的值注意下方应用:#include <stdio.h> void changeValue(int* value); int main() { ...原创 2019-02-10 20:17:10 · 7536 阅读 · 6 评论 -
C语言操作符——简单总结
操作符的分类:1.算术操作符2.移位操作符3.位操作符4.赋值操作符5.复合操作符6.关系操作符7.逻辑操作符8.单目操作符9.条件操作符10.逗号表达式11.下标引用,函数调用,结构成员算术操作符种类注意事项+-*/除数不能为 0%操作数必须是两个整数提醒:在进行算术运算时,要注意运算过程中类型的隐式转换移...原创 2018-11-19 16:18:06 · 208 阅读 · 0 评论