日常C语言学习笔记
文章平均质量分 71
chenaibo
这个作者很懒,什么都没留下…
展开
-
判断文件存在与否
20101206 写下的第一篇博客,开始养成写博客的习惯,虽然刚开始写不出什么高深的理论,但重在积累,让自己以后也可以回忆查找。原创 2010-12-06 13:11:00 · 837 阅读 · 0 评论 -
c 函数fopen,fwrite,fread
C 语言函数 fopen功能:打开一个文件函数原型:FILE *fopen(const char *path,const char *mode);所需库: 返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。参数说明:参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。mode有下列几种形态字符串:r 打开只读文件,该文件必须存在。r+ 打开可读写的文件,该文件必须存在。rb+ 读写打开一个二进制文件,只允许读原创 2010-12-07 13:20:00 · 6266 阅读 · 0 评论 -
定时程序
<br />首先介绍一下alarm函数<br />alarm也称为闹钟函数,它可以在进程中设置一个定时器,当定时器指定的时间到时,它向进程发送SIGALARM信号。要注意的是,一个进程只能有一个闹钟时间,如果在调用alarm之前已设置过闹钟时间,则任何以前的闹钟时间都被新值所代替。<br />所需头文件<br />#include <unistd.h><br />函数原型<br />unsigned int alarm(unsigned int seconds)<br />函数参数<br />seconds原创 2010-12-09 14:05:00 · 648 阅读 · 0 评论 -
strlen引起的错误
<br />今天运行程序时,发现程序某名其秒的死了,找来找去找不到原因死在哪里,后来叫了同事过来帮忙看一下,发现原来是strlen的错误,原来strlen不能对空指针用。<br />下面简单介绍一下strlen。<br /> <br />strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'/0'为止,然后返回计数器值。<br />原型:extern unsigned int strlen(char *原创 2010-12-14 22:01:00 · 14444 阅读 · 1 评论 -
野指针所引起的问题
今天运行程序时,遇到了一个很奇怪的问题,加了几个打印,就会出现死机的情况,去掉就能正常运行,就奇怪了,怎么会出现这种情况,最后百思不得其解,叫了同事过来看了看,最后发现原来是野指针引起的问题。下面,对野指针作个简单的介绍一下。定义:“野指针”不是NULL指针,是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if语句对它不起作用。成因:野指针的成因主要有三种:一、指针变量没有被初化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,原创 2010-12-29 22:16:00 · 3637 阅读 · 0 评论 -
取得程序运行时间
<br />#include <stdio.h><br />#include <sys/time.h><br />struct timeval start;<br />struct timeval end;<br />int main()<br />{<br /> int timeuse;<br /> gettimeofday(&start,NULL);<br /> usleep(100);<br /> gettimeofday(&end,NULL);<br /> timeus原创 2011-02-12 16:25:00 · 579 阅读 · 0 评论 -
C语言之内存管理
原文出处:http://blog.csdn.net/jiaxiongxu/article/details/6613315本文主要是以菜鸟的角度看C语言内存管理,分析malloc最基本的实现方法,如果已经知道malloc的实现方法的大鸟们,可以直接忽略本文了,呵呵。在8086汇编时代里,是没有全局变量和局部变量之分的,通常的做法是:1、自己选定一片内存空间,用伪指令起个别名就当作全局变量转载 2012-05-22 15:36:13 · 840 阅读 · 0 评论 -
gcc编译的背后(预处理、编译、汇编和链接) 一
本次将分为四个章节来讲,分别来讲述一下gcc编译背后的四个步骤。第一部分:预处理。相信大家对这一块其实挺了解了,下面我就献丑,以自己的理解再讲一遍。预处理是c语言从源代码变成可执行程序的第一步,它包括头文件的包含,宏定义扩展,条件编译的选择等。首先介绍一下预处理的命令:一共有12条预处理的命令,都是以#开头且每个预处理命令必须独占一行,它的结尾没有分号,因为它不是语句。#if原创 2012-05-21 22:28:37 · 1240 阅读 · 0 评论