
linuxC语言
文章平均质量分 64
Zzzz_linux
人生需自勉,学习要坚持。
展开
-
linuxC调试代码小技巧——利用条件编译
linuxC代码调试小技巧——利用条件编译原创 2017-07-10 20:19:24 · 522 阅读 · 0 评论 -
malloc原理和内存碎片
当一个进程发生缺页中断的时候,进程会陷入内核态,执行以下操作: 1、检查要访问的虚拟地址是否合法 2、查找/分配一个物理页 3、填充物理页内容(读取磁盘,或者直接置0,或者啥也不干) 4、建立映射关系(虚拟地址到物理地址) 重新执行发生缺页中断的那条指令 如果第3步,需要读取磁盘,那么这次缺页中断就是majflt,否则就是minflt。 内存分配的原理从操作转载 2017-10-27 12:03:31 · 384 阅读 · 0 评论 -
字符指针与字符数组真正的区别
问题缘起先看一个示例示例1#include int main() { char *p = "hello"; char q[] = "hello"; printf ("p: %s\n", p); printf ("q: %s\n", q); return 0;}上面的例子会给出这样的输出p: helloq:转载 2017-10-27 11:17:33 · 273 阅读 · 0 评论 -
c语言中rand()函数的用法笔记
最近在学着用c写一些小程序,过程中遇到很多问题,在网上查很多大神的讲解,以及查阅vs2010的帮助文档。在此做个笔记,以便今后查阅,备忘。感谢无私奉献讲解的大神们!一、rand()rand()函数用来产生随机数,但是,rand()的内部实现是用线性同余法实现的,是伪随机数,由于周期较长,因此在一定范围内可以看成是随机的。rand()会返回一个范围在0到RAND_MAX(32转载 2017-10-27 11:12:22 · 923 阅读 · 0 评论 -
宏定义中的 ## ... __VA_ARGS__
宏定义中的##操作符和... and _ _VA_ARGS_ _1.Preprocessor Glue: The ## Operator预处理连接符:##操作符Like the # operator, the ## operator can be used in the replacement section of a function-like macro.Additio转载 2017-09-20 23:43:38 · 685 阅读 · 0 评论 -
getchar、scanf以及缓冲区的概念
1、getchar()是stdio.h中的库函数,它的作用是从stdin流中读入一个字符,也就是说,如果stdin有数据的话不用输入它就可以直接读取了。 getch()和getche()是conio.h中的库函数,它的作用是从键盘接收字符,getchar带有回显。 与前面两个函数的区别在于: getchar()函数等待输入直到按回车才结束(前提是缓冲区没有数据),回车前转载 2017-09-28 12:43:18 · 322 阅读 · 0 评论 -
C语言堆栈入门——堆和栈的区别
C语言堆栈入门——堆和栈的区别在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大原创 2017-09-28 00:23:07 · 216 阅读 · 0 评论 -
C语言中scanf函数与输入缓冲区之间的关系
讨论下scanf函数,输入缓冲区的关系 样例来源于算法竞赛入门经典第一章实验部分的内容,经过测试发现scanf函数对于整形数据在读入时会过滤掉 空格符 、换行符 和 水平制表符。按照提示,如果b的值非法,比如说输入一个字符‘s’,那么会出现什么结果呢?void scanf_buffer(void){ int a , b; while( scanf("%d%d",&a原创 2017-09-27 23:53:35 · 705 阅读 · 1 评论 -
fgets和fscanf区别
fgets和fscanf区别转载 2017-08-03 12:28:13 · 1533 阅读 · 0 评论 -
如何编写有多个返回值的C语言函数
如何编写有多个返回值的C语言函数转载 2017-07-25 22:50:38 · 501 阅读 · 0 评论 -
常量指针和指针常量的区别详解
常量指针和指针常量的区别详解原创 2017-08-08 08:49:49 · 2351 阅读 · 2 评论 -
关于malloc(0)的返回值问题--这两天的总结与实践篇
malloc() allocates size bytes and returns a pointer to the allocated memory. The memory is not cleared. If size is 0, then malloc() returns either NULL, or a unique pointer value that can later be suc转载 2017-10-26 15:12:30 · 1626 阅读 · 0 评论