随笔分类 - C
摘要:先上实例,再作分析#include <stdio.h>void myfun(void);int main(void){ void (*pf)(void); pf = myfun; /* 也可以这样赋值:pf = &myfun; 其道理同下*/ (*pf)(); pf(); return 0;}voi
阅读全文
摘要:本文主要讲解如果实现回调,特别是在封装接口的时候,回调显得特别重要,我们首先假设有两个程序员在写代码,A程序员写底层驱动接口,B程序员写上层应用程序,然而此时底层驱动接口A有一个数据d需要传输给B,此时有两种方式: 1、A将数据d存储好放在接口函数中,B自己想什么时候去读就什么时候去读,这就是我们经
阅读全文
摘要:有关指针的经典面试题 C语言为何如此长寿并实用?C++为什么有那么多精彩?指针可以说是C/C++中的灵魂所在,虽然早期中pascal也有指针,但是和C/C++比起来不是一个级别的.今天为大家深入浅出的解析一下指针的有关笔试,面试题.所有题目来源网络,分析是我写的... 0.预备知识,最基础的指针 其
阅读全文
摘要:1.strlen:计算字符串长度(不包含'\0')实现想法:遍历字符串,直到'\0'结束 2.strcmp:比较字符串大小(一般用于字符串排序)实现想法:依次从字符串开始一直找到不同的那个字符进行比较,得出大小 3.strcpy:用于字符串复制(复制包含'\0')实现想法:一直复制到'\0'结束 4
阅读全文
摘要:1.sqlite3安装(命令行): sudo apt-get install sqlite3 2.图形界面查看工具安装: sudo apt-get install sqlitebrowser 3.命令行使用: 1)新建数据库(或打开已有数据库): 2).tables 显示数据库中所有的表. 3) .
阅读全文
摘要:1.选择排序。 每次将最小的数,与剩余数做比较。找到更小的,做交换。 时间复杂度:O(n²) 空间复杂度:O(1) 优缺点:耗时但内存空间使用小。 2。冒泡排序 一轮比较两个相邻的数,获得一个最大的数仍在后边。 时间复杂度:O(n²) 空间复杂度:O(1) 优点:稳定。 3。插入排序 把n个待排序的
阅读全文
摘要:1.写一个“标准”宏,这个宏输入两个参数并返回较小的一个 答:#define MIN(x, y) ((x)<(y)?(x):(y))//注意x,y要加括号,因为x,y如果有复合运算会出现问题。 2.宏定义中#与##的作用? 答:#是把宏参数转化为字符串的运算符,##是把两个宏参数连接的运算符。 例如
阅读全文
摘要:与0置0。 或1置1。 左移增大右补0。 右移减小左补0。 主机小端低低存储。 网络大端低高存储。(低位高地址) 常用移位: 4字节类型与0xFF作用:取最后一个字节。 1字节类型与0x01作用:取此字节的最后一位。 把一个整数减去1之后再和原来的整数做位与运算,得到的结果相当于把整数二进制表示中的
阅读全文
摘要:按区域划分: 堆区:自动分配内存区。//堆栈段 栈区:手动分配内存区。//堆栈段 全局(静态)区:静态变量和全局变量。//数据段(读写) 常量区:存放const全局变量和字符串常量。//数据段(只读) 程序代码区:存放二进制代码。//代码段
阅读全文
摘要:简单来说: pthread_detach()即主线程与子线程分离,子线程结束后,资源自动回收。pthread_join()即是子线程合入主线程,主线程阻塞等待子线程结束,然后回收子线程资源。 【转】在任何一个时间点上,线程是可结合的(joinable)或者是分离的(detached)。一个可结合的线
阅读全文
摘要:线程程A已经拥有至少一个资源,此时又去申请其他资源,而该资源又正在被B线程使用,而同时B线程也在等待A线程的资源释放后才会释放自己的资源,便会造成死锁。此时请求进程阻塞,但对自己已经获得的资源保持不放,
阅读全文
摘要:所示程序,若指针指向一个字符串,这个字符串是保存在数据段常量区的,是不可以修改的,不能strcat使用这个指针。但我们可以让这个指针指向其他的字符串。 但是所示数组保存字符串的话,是存在栈区的,数组又是常量指针,即数组的这地址是不可以修改的,所以上面程序不会修改字符串的值。
阅读全文
摘要:主机端是小端序:int a=0x00000001,在主机存储是如下:低位存在内存低地址。 因此 char buf[] = {0x01, 0x00, 0x00, 0x00}; int k =*(int *)buf; 打印k才是1。大端序列是相反的。 0xffffffff | 栈底 | 00 | | 0
阅读全文
摘要:1.ramdisk.img:内存的一个区域,模拟硬件的一个分区。此分区给内核挂载,之后挂载真正的文件系统。 为什么?因为启动时,硬盘设备未挂载,所以只能通过这种方式挂载内核。 2.alsa库的接口 snd_pcm_open()打开设备 snd_pcm_w_params_set()函数为参数变量赋值。
阅读全文
摘要:1. stdout-------printf输出到stdout,并在终端打印 stderr--------perror错误输出到stderr,并在终端打印 2. usleep(1)//代表一微妙 sleep(1)//一秒,等于1000毫秒,1毫秒等于10001微妙 c中没有毫秒函数 3. exit和
阅读全文
摘要:1.指针赋值前就用它引用内存,或释放后继续访问它的内容。 2.释放同一块内存两次。
阅读全文
摘要:HSV是把H(色相),S(饱和度),V(亮度)当做色值来定位颜色的空间。色相的取值范围是0~360度,用来表示颜色的类别。其中红色是0度,绿色是120度,蓝色是240度。饱和度的取值范围是0%~100%。用来表示颜色的鲜艳程度,灰色的饱和度是0%,纯粹的颜色(比如大红(255,0,0)青色(0,25
阅读全文

浙公网安备 33010602011771号