随笔分类 -  C和指针

摘要:条件编译 符合条件,才进行编译。不符合条件的部分,直接忽略,根本不对其进行编译,能大大的提高效率。 主要有两种方式 : (1) #if expressition 看表达式结果。 (2) #ifdef xxx 看是否有过define xxx行为。 (1) #if expression 首先对这个表达式 阅读全文
posted @ 2017-10-07 15:16 mokang0421 阅读(179) 评论(0) 推荐(0)
摘要:预处理 预处理这个过程,发生在编译代码之前,编译器先进行预热.完成一些替代工作. 我们最先接触的肯定是 #defien True 1这样的。 #define name stuff 在程序中,出现name字样,在预处理阶段都会被替换成为 stuff.就像碰到True,都会替换成1. 书写技巧: (1) 阅读全文
posted @ 2017-09-15 23:14 mokang0421 阅读(135) 评论(0) 推荐(0)
摘要:动态内存分配 为什么需要动态分配内存? 首先硬件的内存是有大小限制的,如果软件太过于复杂,会使得内存逐渐用满。所以需要我们不时的释放内存。 当我们声明一个数组,用于存放 : 用户输入信息时。 这是就很尴尬了,到底声明多大的? 太小的话怕溢出,太大的话怕 浪费。最好的方法:用户先输入信息,软件时刻更新 阅读全文
posted @ 2017-09-15 22:14 mokang0421 阅读(119) 评论(0) 推荐(0)
摘要:结构变量用作函数参数 结构变量做为一种变量类型,完全可以用于函数参数。如果直接把 结构名做为参数,那么根据传值特性,函数调用时, 会为其开辟一部分内存单元,并完成copy值的传递。如果结构变量很庞大,就会很浪费。 还有一种方式,函数参数是: 一个指向struct的指针。这样在函数体内,我们可以使用 阅读全文
posted @ 2017-09-14 22:21 mokang0421 阅读(163) 评论(0) 推荐(0)
摘要:Struct. 有时候我们希望把归属于一类的信息放在一起,便于查看.如一个员工的姓名、编号、工资、出勤。它又 字符串、int、float、数组等 构成.C提供了struct,使他们聚合在一起,便于我们访问. 结构定义 很显然,结构也是一个变量,它有自己的变量名,类型是struct;除此之外,我们还要 阅读全文
posted @ 2017-09-14 08:24 mokang0421 阅读(113) 评论(0) 推荐(0)
摘要:对于构成字符串的,string.h封装了许多现成的函数以供使用。 字符串,不论是常量字符串还是借用数组尾缀’\0’。 这个strings.h里面的函数都是针对的字符串。 即以’\0’做为截至。 如果你不幸的对 char数组操作,可能得到的结果并不是你想要的结果。 strlen函数 unsigned 阅读全文
posted @ 2017-09-10 23:29 mokang0421 阅读(185) 评论(0) 推荐(0)
摘要:傻傻的没弄清,字符数组和 字符串 . 第一点: 编译器遇到 双引号“ ”的时候,主要有一下集中情况: char str[] = " abc" : 不指定长度。 char str[2] = "abc" : 长度过短。 char str[3] = "abc" : 长度恰好, char str[4] = 阅读全文
posted @ 2017-09-08 23:13 mokang0421 阅读(205) 评论(0) 推荐(0)
摘要:二维数组 声明和初始化: Type 数组名[m][n] : 声明了一个二维数组。 Int matrix[3][4] = { { 00, 01, 02, 03} , { 10, 11, 12, 13} , { 20, 21, 22, 23} } 视角分析: 二维数组可以看成一个数组:只不过这个数组由复 阅读全文
posted @ 2017-09-06 21:40 mokang0421 阅读(121) 评论(0) 推荐(0)
摘要:数组 , 数组是C语言的一种数据类型。 我们先从一维数组讲起. 声明和初始化 type 数组名[n] : 声明了一个数组,它由n个元素组成,且这n个元素均是 type类型。 编译器进行初始化时,会为其分配 n个type型存储空间. 如int a[4]; 在声明时, 编译器需要为其分配空间,所以需要知 阅读全文
posted @ 2017-09-05 23:32 mokang0421 阅读(125) 评论(0) 推荐(0)
摘要:函数定义: 类型 函数名 (参数列表) { 代码块 } 类型: 是指返回值类型 Return语句: 注意return语句将不再往下执行,将退出整个函数。 如果里面没有返回语句也是可以的。 函数声明: 为什么要声明? 我们直到变量声明,是为了分配好地址然后本质上都是对地址的操作。 函数声明其实也是,当 阅读全文
posted @ 2017-09-04 21:55 mokang0421 阅读(124) 评论(0) 推荐(0)
摘要:指针 指针是一种变量,和int、float、char一样,是一种基本的变量。只不过它比较抽象一些。 我们知道在C语言中,声明一个变量a、b,编译器会为其分配一个物理地址 addr_1 、addr_2,在之后的C语言中,a =1操作,是把数值1存入该 addr_1,就等价于a值变为1。b = b+1 阅读全文
posted @ 2017-09-03 13:45 mokang0421 阅读(125) 评论(0) 推荐(0)
摘要:C代码的无非是在一定的条件对数据进行操作处理。那么C语言中主要有几类数据? 数据如何访问?数据如何存储,这几个方面是我们事先需要掌握的。 <3.1 基本数据类型> 从我们生活实际应用的角度出发:数据有小数和整数、正负之分; 那么在C语言中,是这样的吗?该怎么定义正负数、小数呢? 整数家族:早期,内存 阅读全文
posted @ 2017-08-29 21:43 mokang0421 阅读(112) 评论(0) 推荐(0)
摘要:前面我们知道了 C语言中数据类型分类:基本类型(整、浮),指针、聚合类、空类型。 在C语言中如何声明?初始化? 访问? 访问范围?硬件中如何存储?这是几个需要关注的问题。 基本声明 说明符 + 表达式列表 说明符: 是为了具体的说明数据类型、长度、正负的信息。主要包括了部分关键词: int floa 阅读全文
posted @ 2017-08-29 21:39 mokang0421 阅读(102) 评论(0) 推荐(0)
摘要:操作符和表达式 在笔记4中,介绍了C语言的基本循环语句.本节将介绍C语言中 变量五花八门的操作. 操作符: 分成了算数操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号操作符等等.... 算数操作符: 包括 + - * / % 注意: 5/2 =2 , 整 阅读全文
posted @ 2017-08-29 16:22 mokang0421 阅读(179) 评论(0) 推荐(0)
摘要:本节将介绍 C语言 语句的基本知识、 空语句: 空语句即逗号; 它不会修改任何的变量值,但是真实执行的。汇编指令00. 表达式语句: C语言由函数组成, 函数由语句组成;语句由表达式+分号组成;表达式又分成 : 常量表达式\逻辑表达式\算数表达式\赋值表达式\关系表达式.....或者这些表达式的组合 阅读全文
posted @ 2017-08-15 21:08 mokang0421 阅读(136) 评论(0) 推荐(0)
摘要:变量的作用域 作用域分成: 代码块作用域,文件作用域,原型作用域,函数作用域。 代码块作用域: { }里面的称为代码块,凡是在 代码块开始位置声明的变量都 具有代码块作用域,即可以在{ }里面访问。 文件作用域: 声明于花括号外面的 变量都具有文件作用域。即在该文件内可以访问。 原型作用域: 是指那 阅读全文
posted @ 2017-08-13 10:46 mokang0421 阅读(131) 评论(0) 推荐(0)