
c开始
文章平均质量分 62
boke_fengwei
我不懒,我天天学习
展开
-
第二节---分支和循环语句
分支语句分支包括了if() {}else{}语句和switch(){case :}语句。if语句包括了单个if和多个if语句的嵌套。//多分支 //单分支if(条件){ if(){执行体}else if(条件){ ...原创 2018-12-02 19:38:29 · 1780 阅读 · 0 评论 -
malloc的底层实现
本文主要介绍了ptmalloc对于内存分配的管理。结合网上的一些文章和个人的理解,对ptmalloc的实现原理做一些总结。内存布局 介绍ptmalloc之前,我们先了解一下内存布局,以x86的32位系统为例: 从上图可以看到,栈至顶向下扩展,堆至底向上扩展, mmap 映射区域至顶向下扩展。 mmap 映射区域和堆相对扩展,直至耗尽虚拟地址空间中的剩余区域,这种结构便于 C...转载 2019-04-20 16:14:04 · 344 阅读 · 0 评论 -
.c文件的一生的经历
在我们写好一个.c文件之后怎样去变为一个.exe文件呢,在平时我们都是直接一个编译运行就直接将.c文件生成到.exe文件,我们做起来很简单,其实实现过程相当的复杂。总的来说一个.c文件编程一个.exe文件需要经历一下的四个步骤:预处理-编译-汇编-链接预处理预处理的作用:对头文件进行展开(头文件文本复制)宏替换条件编译去掉注释…在linux下我们使用gcc -E对.c文件进行预...原创 2019-03-21 20:06:21 · 247 阅读 · 0 评论 -
c语言-----思维导图
我们建议使用x-MIND去总结自己所学的原创 2019-03-11 20:49:31 · 455 阅读 · 0 评论 -
你的“内存”泄露了吗?
内存泄漏那点事这里我们将字体放大,因为它是我们c语言阶段最重要的问题,也是我们最容易忽视的问题,也许你现在是不会理解到它的威力到底有多大,这里我们就谈谈内存泄漏的那点事内存泄漏是什么?内存泄漏是指我们在c语言中malloc()申请一段空间的时候,我们在使用过久但是并没有对其进行free(),这样导致我们先前malloc()申请的空间就一直被占着,而且我们并没有对其进行使用,...原创 2019-03-11 20:28:30 · 159 阅读 · 0 评论 -
自己的“结构体”,"枚举",“联合”
首先我们应该知道再c语言中不只包括基本数据类型,还有其他我们自己的定义一些数据类型,例如结构体,枚举,联合三种数据类型结构体结构体是我们在c语言的重要的知识点,在c语言中我们需要表示一个类似car类型,此类型还包括了car型号,价格,生产厂家等等一系列信息,此时我们就不能使用基本数据类型去表示它。结构体就帮了我们的大忙。struct声明:struct tag{ char name...原创 2019-03-11 20:01:02 · 153 阅读 · 0 评论 -
c中的自定义类型的坑
自定义类型:结构体,枚举,联合在c语言中我们会学习到三种基本的自定义类型,其中包括结构体,枚举,联和三种。我不讲解三种的定义以及用法,我们现在就谈谈自定义类型中的坑结构体1,在c语言中我们在定义结构体会使用时必须要加上关键字struct去定义结构体实例化。但是在c++中我们不需要加struct关键字,或者使用类。2,特殊定义的结构体,结构体的定义方法有三种,最基本的定义#include ...原创 2019-01-25 15:58:06 · 353 阅读 · 0 评论 -
指针的陷阱
首先在前面我们就讲解了指针的基本的一些基本的概念以及一些指针相关的定义,这篇我们就来讲解讲解一下指针中的一些陷进。指针其实不难理解,难理解是指针指向的内存个一些指针的sizeof()的运算。陷进一:指针数组和数组指针例如下面的代码#include <stdio.h>#include <stdlib.h>int main(){ char arr[] = "abc...原创 2019-01-24 16:17:28 · 444 阅读 · 0 评论 -
第六节--指针
指针的理解指针是我们在学习c语言的一个难点,但是指针难不是难在概念而是难在指针是关于内存的分配,当我们定义一个变量的时候就会有相应的内存地址,就是指向我们存储数据的内存地址。这就是指针,意思是通过它能找到以它为地址的内存单元。#inlcude <stdio.h>int main(){ int a = 10;//内存中开辟一块空间 int *p = &a;//这里我...原创 2018-12-30 11:28:46 · 125 阅读 · 0 评论 -
第四节---数组
本章重点一维数组的创建和初始化一维数组的使用一维数组在内存中的存储二维数组的创建和初始化二维数组的使用二维数组在内存中的存储数组作为函数参数一维数组的创建和初始化数组的创建数组是一组相同类型元素的集合。数组的创建方式:type_t arr_name [const_n]; //type_t 是指数组的元素类型 //const_n 是一个常量表达式,用来指定数组的...原创 2018-12-09 19:16:46 · 290 阅读 · 1 评论 -
第五节--操作符和表达式详解
本章重点各种操作符的介绍表达式求值操作符分类算术操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号表达式下标引用、函数调用和结构成员算术操作符+ - * 、 %除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。 3. % ...原创 2018-12-13 23:49:00 · 169 阅读 · 0 评论 -
第三节--函数
函数本章主要掌握函数的基本使用和递归函数是什么?库函数自定义函数函数参数函数调用函数的声明和定义函数递归函数是什么?在计算机科学中,子程序(英语:Subroutine, procedure, function, routine, method, subprogram, callable unit),是一个大型程序中的某部分代码, 由一个或多个语句块组成。它负责完成某项特定任 ...原创 2018-12-07 21:31:16 · 161 阅读 · 0 评论 -
c语言变量的作用域和周期
变量的作用域变量分为全局变量和局部变量全局变量:作用域是在整个工程中都能够使用,生命周期也同样是在整个工程中,当程序执行结束的时候便生命周期也走完一个循环#include <stdio.h> #include <stdlib.h> int a; int main(){ }部局变量:作用域在当前的代码块中,生命周期也同样是当前的代码块void add(int a,...原创 2018-12-01 19:19:20 · 291 阅读 · 0 评论 -
c语言变量和常量
c语言的常量和变量及其类型常量以及常量的定义变量:在c语言中变量就是能够改变的量常量:就是在定义后不能去改变的值就是常量 int a = 10; a = 20;此时的a就是一个变量 const int a = 10;此时的a就是一个常量。在那些定义中是一个常量:1、字符常量:就是输入的字符,比如’c’就是常量,是不能改变的2、const定义的常量:const int ...原创 2018-12-01 19:04:51 · 3602 阅读 · 0 评论