![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
文章平均质量分 75
suhaoxue1231
这个作者很懒,什么都没留下…
展开
-
常见c语言编译错误解析
C语言编译错误信息及说明1、 在函数 ‘transform’ 中:7: 错误:expected ‘;’ before ‘{’ token 解释:‘{’之前的某个语句缺少分号‘;’; 2、 在函数 ‘Insert_SqList’ 中:6: 错误:‘listsize’ 未声明 (在此函数内第一次使用) 解释:‘listsize’这个变量未声明; 3、 在函数转载 2013-01-27 20:30:49 · 1138 阅读 · 0 评论 -
linux下段错误
一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个指是由gdtr来保持的,他是一个48位的寄存器,其中32位是保存由它指向的gdt表,后13位保持对英语gdt的下表,最后3位包括了程序是否在内存中以及程序的在cpu中运行的级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相应的段限和页面交换还有程序运行级别还有内存粒原创 2013-01-27 20:24:53 · 152 阅读 · 0 评论 -
文件I/O与标准I/O
一、标准I/O:标准I/O先将数据写入缓冲区,然后当缓冲区满时,将数据刷新到文件中去。1. 全缓冲:数据存放在缓冲区,当缓冲区满时才输出到相应的文件中去。当进程退出时,会将缓冲区的数据强制刷新到想要输出的文件中去!fflush强制将缓冲区数据刷新到相应的文件中去!2. 行缓冲:当你的printf中加\n时程序也会将你打印的数据强制刷新到相应的文件中去。3.原创 2013-01-15 11:19:47 · 242 阅读 · 0 评论 -
内存区的划分与区别
栈:所有的局部变量存放在栈空间里,当一个函数返回时,函数使用的占空间被释放。堆:malloc函数开辟的,当进程退出时,由OS回收,调用free函数释放堆空间,避免造成内存泄漏。常量区:不允许呗修改,当进程退出时内存被释放。代码区:存放代码。全局区:分为全局初始化区和全局未初始化区。静态存储区:与全局变量相邻。原创 2013-01-14 16:43:28 · 270 阅读 · 0 评论 -
进程间通信——管道
1、数据流只有一个方向,从“读端”到“写端”。2、只有用于亲缘关系的进程间通信#include#include#include#include#include#include#includeintmain(){ int fd[2]; int ret,bytes_write,bytes_read; char *buf = "hel原创 2013-01-16 15:39:34 · 179 阅读 · 0 评论 -
有名管道
1、 open函数flag以O_RDONLY打开,只能打开有名管道的读端,以O_RDONLY打开,只能打开有名管道的写端。2、 open函数flag以O_RDWR方式打开,将打开管道的读写端,只有同时打开管道的读端和写端,有名管道才被真正的打开。纸打开读端或者写端,open函数会出现阻塞。创建:int main(){ if( mkfif原创 2013-01-17 14:32:01 · 219 阅读 · 0 评论 -
进程间通信——信号
忽略信号(SIGKILL,SIGSTOP):对信号不做任何处理,但是有两个信号不能忽略。捕捉信号:定义信号处理函数,当信号发生时,执行相应的处理函数。执行缺省操作:signal:void func( int signum ){ printf("hello!\n"); return ;}int main(){//原创 2013-01-17 14:35:46 · 215 阅读 · 0 评论 -
编程规范
1、 文件、函数、变量、宏的名字的命名,根据实际含义命名。2、 尽量少使用数字,可用宏定义替代。3、 代码的可读性优先级高于代码的效率。4、 单一的功能(功能块)使用空行隔开。5、 一个一般函数代码不要查过100行,主函数代码不要超过50行。原创 2013-01-21 19:49:06 · 150 阅读 · 0 评论