随笔分类 -  C

PHPer的转型. C必须做到必知必会!
Unix环境高级编程-阻塞访问原理——等待队列
摘要:有些时候,一个系统调用可能无法马上取到或者送出数据:一个温度采集器如果没有采用中断或者轮询的策略,而是在用户发出请求时才进行采集,并在一定的时间后返回结果。如果用户程序希望调用read或write并且在调用返回时能确保得到想要的结果,那么用户程序应该阻塞,直到有结果或者错误后返回,用户程序的阻塞体现 阅读全文

posted @ 2018-04-25 15:45 John_ABC 阅读(742) 评论(0) 推荐(0) 编辑

Linux-TCP之深入浅出send和recv
摘要:内容摘自:TCP之深入浅出send和recv、再次深入理解TCP网络编程中的send和recv 建议阅读时参考:Unix环境高级编程-TCP、UDP缓冲区 概念 先明确一个概念:每个TCP socket在内核中都有一个发送缓冲区和一个接收缓冲区,TCP的全双工的工作模式以及TCP的滑动窗口便是依赖于 阅读全文

posted @ 2017-07-26 10:55 John_ABC 阅读(16316) 评论(0) 推荐(2) 编辑

Linux-Socket编程
该文被密码保护。

posted @ 2016-07-12 15:44 John_ABC 阅读(4) 评论(0) 推荐(0) 编辑

C语言-常用知识和技巧
摘要:1.char string[MAXSIZE], *tmp = string;2."&&", "||", "?:", ",", 除了这几个运算符号外, 其他运算符都不确定运算顺序!3.整数常量、浮点数常量、数据类型转换 如果没有声明函数而直接调用, short, char等会转换为int类型,flo... 阅读全文

posted @ 2015-08-06 21:59 John_ABC 阅读(180) 评论(0) 推荐(0) 编辑

C语言-结构体内存对齐
摘要:C语言结构体对齐也是老生常谈的话题了。基本上是面试题的必考题。内容虽然很基础,但一不小心就会弄错。写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢? 开始学的时候,也被此类问题困扰很久。其实相关的文章很多,感觉说清... 阅读全文

posted @ 2015-08-05 15:18 John_ABC 阅读(348) 评论(0) 推荐(0) 编辑

C语言-数据结构(一)
摘要:1.动态创建多维数组int ** createArray(int rows, int cols) { int **x, i; x = (int **)malloc(rows * sizeof(*x)); for (i = 0; i search) { rig... 阅读全文

posted @ 2015-07-15 11:23 John_ABC 阅读(286) 评论(0) 推荐(0) 编辑

Linux-查看C语言手册及man的特殊用法
摘要:man命令可以查看c语言库函数的函数原型, 比如$ man malloc如果显示 "No manual entry for malloc", 则需要安装 "man-pages"sudo yum -y install man-pagesLinux 中的 man 就是 manual 的缩写, 用来查看系... 阅读全文

posted @ 2015-07-01 17:51 John_ABC 阅读(3470) 评论(0) 推荐(0) 编辑

C语言-常用函数处理
摘要:1.使用fgets#define SLEN 50char str[SLEN];fgets(str, SLEN, stdin);i = 0;while (str[i] != '\n' && str[i] != '\0') i++if (str[i] == '\n') str[i] = '\... 阅读全文

posted @ 2015-07-01 10:03 John_ABC 阅读(354) 评论(0) 推荐(0) 编辑

C语言-十进制转换为二进制函数
摘要:char * itobs(int num, char * str) { int i; static int size = 8 * sizeof(int); for (i = size - 1; i >= 0; i--, num >>= 1) { str[i] = (0... 阅读全文

posted @ 2015-06-30 11:25 John_ABC 阅读(2656) 评论(0) 推荐(0) 编辑

C语言-gdb调试工具详解
摘要:回车 重复上一次命令产生可调试的可执行文件:gcc -g main.c -o main, 必须加上-g选线, 表示在可执行文件中加入源文件信息, 但并不是将源文件嵌入可执行文件, 所以在调试时必须保证gdb能够找到源文件进入调试:gdb fname, 进入fname可执行文件的调试环境查看源文件代码... 阅读全文

posted @ 2015-06-26 13:07 John_ABC 阅读(528) 评论(0) 推荐(0) 编辑

C语言-EOF和feof()判断文件结尾的区别
摘要:今天获取一个图片内容时, fopen("aaaaaa.png", "r"), 读取完文件头就停止了, 后来模式改为 "rb" 就可以了, 特此记录下;由于字符的ASCII码不可能出现 -1, 因此EOF定义为 -1 是合适的当以文本形式读取文件内容, 读入的字符值等于EOF时, 表示读入的已不是正常... 阅读全文

posted @ 2015-06-19 15:12 John_ABC 阅读(6421) 评论(0) 推荐(0) 编辑

C语言-一个fopen函数中未使用二进制模式(b)引发的血案
摘要:转自:http://blog.csdn.net/hinyunsin/article/details/6401854最近写了一个网络文件传输模块,为了让这个模块具有更好的移植性,我尽量使用C标准IO API来编写代码。模块是在Linux下面写的,一点问题都没有。但是昨天把客户端的代码移植到了windo... 阅读全文

posted @ 2015-06-19 14:38 John_ABC 阅读(2300) 评论(0) 推荐(0) 编辑

C语言-srand种子详解
摘要:rand() 函数取得随机数的时候是通过一个叫做"种子"的变量经过计算得出一个数值, 然后得出的数值再作为新的"种子"参与下一次的运算, 这样就得到了所谓的随机数srand() 的作用就是用给定的数字来代替种子, 比如用当前的时间做种子, 因为每次运行程序时间都不一样, 所以 rand() 函数给出... 阅读全文

posted @ 2015-06-18 10:47 John_ABC 阅读(1509) 评论(0) 推荐(0) 编辑

C语言-字符串操作函数
摘要:gets(char buffer[]) 从标准输入读取一行, 并去掉换行符, 在字符串末尾增加 '\0' 字符, 写入到缓冲区 成功则返回 buffer 的地址, 出错或者遇到文件结尾则返回空指针, 使用 stdio 的 NULL 表示fgets(char buffer[], int num, F... 阅读全文

posted @ 2015-06-11 15:40 John_ABC 阅读(559) 评论(0) 推荐(0) 编辑

C语言-Makefile经典教程(掌握这些足够)
摘要:makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,... 阅读全文

posted @ 2015-06-11 11:06 John_ABC 阅读(2658) 评论(0) 推荐(0) 编辑

C语言-编译
摘要:编译的时候只是需要知道函数原型(即只需要 xxx.h 文件即可), 不需要知道函数定义, 在链接阶段可以把 xxx.c 生成的 xxx.o 链接进去, 以知道函数定义 编译时,编译器需要的是语法的正确,函数与变量的声明的正确。对于后者,通常是你需要告诉编译器头文件的所在位置(头文件中应该只是声... 阅读全文

posted @ 2015-06-10 15:50 John_ABC 阅读(185) 评论(0) 推荐(0) 编辑

C-printf/sprintf/snprintf中的类型转换详解
摘要:源码1#include void f1() { double x = -5.5625; printf("%d\n",x); //输出为0,为什么? } int main() { f1(); return 0; }源码2#in... 阅读全文

posted @ 2015-04-30 15:40 John_ABC 阅读(981) 评论(0) 推荐(0) 编辑

C-类型转换(陷阱)
摘要:getchar() 返回值为int类型1.自动类型转换(运算符两边变量类型不同时) 1).两个变量类型自动转换成一样的类型(会根据参数类型自动转换, 而不是直接位转换), 且运算结果也是转换后的类型 2).当较低类型的数据转换为较高类型时, 一般只是形式上有所改变, 而不影响数据的实质内容, 而... 阅读全文

posted @ 2015-04-29 15:22 John_ABC 阅读(3327) 评论(0) 推荐(2) 编辑

C-C Primer Plus阅读笔记
摘要:常用头: stdio.h string.h inttypes.h limits.h float.h1.打印short、long、long long和unsigned#include int main(void) { unsigned int un = 3000000000; ... 阅读全文

posted @ 2015-04-28 09:46 John_ABC 阅读(262) 评论(0) 推荐(0) 编辑

C-Scanf连续调用多次并且存在%c的问题
摘要:问题现象:当程序中存在多个scanf时,针对第一个scanf的输入,一般用户会以空白字符(空格、换行、tab、换页符)等结束。但若后面有一个scanf(“%c”,&ch),则刚才输入的空白字符会被此次的scanf读入,因此空白字符也是一个字符,此将导致ch为空。原因解释:scanf的工作原理:(一般... 阅读全文

posted @ 2015-03-10 22:56 John_ABC 阅读(917) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示