![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
you_big_father
这个作者很懒,什么都没留下…
展开
-
malloc(0)的运行实验
场景:碰到这样的题目,问 malloc(0) 有什么后果和输出,这里来VS上进行运行试验问题描述:我们在堆上申请一块内存,若申请size为0,有很多文章已经进行了描述:参考1,参考2,参考3,参考4这里使用VS2017运行效果与参考文章不太一致,过程如下:char *ptr,*next;char *tmp1, *tmp2, *tmp3;//申请多个size为0的内存tmp1 = (char*)malloc(0 * sizeof(char));tmp2 = (char*)mall原创 2020-09-24 20:50:29 · 290 阅读 · 0 评论 -
阅读《C程序员——从校园到职场》笔记
*——最近和小伙伴交流,发觉自己的C语言在很多方面需要进一步提升或加强,于是借阅了CSDN大佬编的这么一本书,希望有所改变和提升。*第一章 概述本章主要内容:介绍C语言历史与现况以及开发工具。要点一:C语言之父——Dennis Ritchie(丹尼斯·里奇);第二章 学校到职场本章主要内容:破除“学生”观念,介绍“职场”思维。要点一: 四个错误观念:1.我的C语言学得很好;2.编...原创 2018-10-27 23:06:37 · 427 阅读 · 0 评论 -
C 输入 & 输出
原创 2018-10-30 16:11:05 · 606 阅读 · 0 评论 -
getchar(),getche(),getch()
都是从键盘接收输入,为啥只知道 getchar() 呢,其实用的时候有更好的选择。三个函数都是从键盘接收一个字符,根据下表不同的小区别,使用时选择不同的函数。函数名 头文件 是否需要输入Enter 是否屏幕回显 getchar <stdio.h> 是 是 getche <conio.h> 否 是 ge...原创 2019-04-01 09:08:14 · 268 阅读 · 0 评论 -
数组下标的别致用法
数组常识(common sense)当一个数组被创建,数组下标都是从0开始计数的。例如,创建了一个名为 arr 的数组,可以通过 arr[i] 来读取数据。arr 为数组名,i 为数组下标。arr[i] 在编译器内部会被读取转换为另外一种形式:(arr + i)当 i 为0时,(arr + i)= arr(当前数组名)。因此数组名为一个基址,用于指示数组的第一个元素从哪里开始读取...原创 2019-04-01 09:41:32 · 886 阅读 · 0 评论 -
C语言中的重载
有人说C语言这种不咋高级的语言怎么会有重载,你就写个标题使劲忽悠吧。见下:printf("%d", x); //2个参数printf("%d, %d", x, y); //3个参数在C语言部分内置函数可以有函数重载,例如 printf 函数,但是自定义函数和其他地方都不可以重载。...原创 2019-04-02 09:14:09 · 1938 阅读 · 3 评论 -
C语言中的储存类型
C语言包含4种储存类型,见下表:特征 自动储存类型 寄存器储存类型 静态储存类型 外部储存类型 关键字 auto register static extern 储存于 内存 CPU寄存器 内存 内存 默认初始值 垃圾值 垃圾值 0或空白符 0或空白符 作用域 局限于块 局...原创 2019-04-02 09:41:26 · 1153 阅读 · 0 评论 -
linux下库函数实现
前言C语言是一种结构化程序设计语言,当项目达到一定规模后,采用模块化设计是种必然的选择。所谓模块化设计是指对项目按照“自顶向下”的分析,将项目划分为一个个子系统,每个子系统再划分为多个模块,直到每一模块足够小并且功能单一为止。再按照“自底向上”的方式进行程序设计,将模块用C语言函数来实现,形成逐层调用关系,最终构成整个项目。模块化设计可以降低程序复杂度,使程序设计、调试和维护等操作简单化...翻译 2019-05-10 16:04:52 · 726 阅读 · 0 评论