
C
乱舞春秋丶
这个作者很懒,什么都没留下…
展开
-
c语言深度解剖笔记1
2016.8.14 DAGE复习内容:c语言深度解剖笔记1a.c语言运算符的优先级 有三大类:算术运算符、关系运算符与逻辑运算符,还有位运算符等,,, 相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。因此++i++应解释为++(i++)。 基本表达式 1级 最高 后缀表达式 2极 单目/一元运算 3级转载 2016-10-21 11:15:23 · 371 阅读 · 0 评论 -
opendir相关的目录操作
头文件 #include<sys/types.h> #include<dirent.h>函数原型 DIR* opendir (const char * path );功能 打开一个目录,在失败的时候返回一个空的指针。#include <stdio.h> #include <dirent.h> int main(void) { DIR *dirptr = NULL原创 2017-08-22 17:13:45 · 1288 阅读 · 4 评论 -
FILE文件指针相关操作
文件的打开模式 w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 wb 只写方式打开或新建一个二进制文件,只允许写数据。 wb+ 读写方式打开或建立一个二进制文件,允许读和写。 r 打开只读文件,该文件必须存在,否则报错。 r+ 打开可读写的文件,原创 2017-08-22 17:11:05 · 1164 阅读 · 0 评论 -
C语言的计时函数
#include <\time.h>最常用的无疑是time函数,用法如下: Int start,end; Start = time(NULL);//获得当前系统运行时间 //处理事件 End = time(NULL);//获得处理完事件后系统运行时间 Put(end-start);但是time函数用来计时并不是特别的精确,只是精确到s级的计时单位,所以在一些需要精确计时的程序中,可以使用原创 2017-08-22 17:10:21 · 7518 阅读 · 0 评论 -
C语言深度剖析笔记(六)
2016.9.6 DAGEC语言深度剖析笔记(六)a.指针数组与数组指针1.定义: 首先要注意[]的优先级要高于*,所以下面 int *p[4]; int (*p)[4]; 可以看做上面的先定义了一个数组,但是数组里面存放的是一些指针,并且数组里面可以存放除了函数以外的任意类型的数据 下面的因为()的原因所以先定义了一个指针,但是这个指针指向转载 2016-10-26 10:40:31 · 765 阅读 · 0 评论 -
C语言深度剖析笔记(七)
2016.9.7 DAGE学习内容:C语言深度剖析笔记(七)a.内存管理1.栈、堆、静态区:静态区:保存自动全局变量和 static 变量(包括 static 全局和局部变量)。静态区的内容在总个程序的生命周期内都存在,由编译器在编译的时候分配。栈:保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁。其特点是效率高,但空间大小有限。堆:由 malloc 系列转载 2016-10-26 10:42:21 · 337 阅读 · 0 评论 -
函数指针、指针函数类
函数指针例: type (*func)(type &,type &) 该语句声明了一个指针func,它指向了一个函数,这个函数带有了2个type型参数并返回一个type的值。 p.s. type类型可以被看成是int啊或者是floast等类型。 =============注意项==============1.一个指向函数的指针必须确保该函数被定义且分配了内存,否则它将指向一个空地址转载 2016-09-28 20:50:38 · 694 阅读 · 0 评论 -
排序算法总结
代码实现冒泡排序 O(n^2)冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。void bublle_sort(int a[],int n){转载 2016-09-27 15:18:10 · 230 阅读 · 0 评论 -
static关键字详解
static可以用它来定义变量或者函数,保存在静态数据区。作用:1.隐藏:解除多文件时函数名字冲突的问题同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。其他源文件也可以访问(extern)。如果加了static,就会对其它源文件隐藏。利用这一特性可以在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。Static可以用作函数和变量的前缀,对于函数来讲,stati原创 2016-09-27 14:55:38 · 283 阅读 · 0 评论 -
c语言深度剖析笔记5
2016.8.27 DAGE复习内容:c语言深度剖析笔记5a.指针&数组 1.int *p = NULL; //表示把这个指针置为0,NULL在C语言里面被宏定义为0,不是指针指向的内容*p为0,而是这个地址p为0 int p = (int )0x123456; //如果要修改某个地址的内容,将这个地址赋值给一个指针时要强制转换类型,也可以 (int )0转载 2016-10-21 11:17:02 · 343 阅读 · 0 评论 -
c语言深度剖析笔记4
2016.8.26 DAGE复习内容:c深度剖析笔记4a.优先级方面需要注意的几个小的点 1. “.”的优先级高于* []高于* == 和!=高于位操作 位操作即&和|和^,~ == 和!=高于赋值符 算术运算符高于位移运算符 逗号运算符在所有运算符中优先级最低 b.预处理转载 2016-10-21 11:16:44 · 267 阅读 · 0 评论 -
c语言深度解剖笔记3
2016.8.16 DAGE复习内容:c深度解剖笔记3a.符号 1.注释 注释部分编译器会将其剔除掉,但是不是直接剔除,而是替换成空格代替注释 注释里面也可以使用续行符\比如使用//来注释时一行不够 /**/类型的注释不能嵌套 /*之间要是没有空格,那么就会默认是注释部分的开始,所以a/*b,原意a除以地址b里面的转载 2016-10-21 11:16:18 · 283 阅读 · 0 评论 -
c语言深度解剖笔记2
2016.8.15 DAGE复习内容:c语言深度解剖笔记2a.union联合体 union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在 union 中所有的数据成员共用一个空间, 同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。一个 union 只配置一个足够大的空间以来容纳最大长度的数据成员。b.大端与小端模式转载 2016-10-21 11:15:53 · 339 阅读 · 0 评论 -
printk的级别
用户空间有printf(),内核空间有printk(),编写用户空间应用程序的时候,一般都用printk()。 printk()与printf()的一个重要区别就是前者可以指定消息的打印级别,内核根据这个指定的级别来决定是否将消息打印到终端上。如下表所示,printk()共有8个级别。 级别 描述KERN_EMERG 紧急情况,系统可能会崩溃KERN_ALERT 必须立即响应KERN原创 2017-08-22 17:14:05 · 1509 阅读 · 1 评论