
C 编程
zzjxiaozi
这个作者很懒,什么都没留下…
展开
-
用c语言产生随机数
在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了srand()函数,它的原形是void srand( int转载 2011-10-20 00:31:23 · 3643 阅读 · 1 评论 -
指针的应用
一个函数在编译时被分配一个入口地址,将这个入口地址称为函数的指针,可以用一个指针变量指向该函数指针,然后通过该变量来调用函数。有关说明:1、 函数指针的声明格式:函数返回值类型(*指针变量名)(参数类型列表)或者是:typedef 函数返回值类型 (*指针变量名)(参数类型列表)2、一个函数指针只能指向一种类型的函数,即具有相同的返回值和相同的参数的转载 2013-01-14 14:10:23 · 1196 阅读 · 0 评论 -
c语言 printf()输出格式控制
Printf()输出格式控制1.转换说明符 %a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99) %c 字符 %d 有符号十进制整数 %f 浮点数(包括float和doulbe) %e(%E) 浮点数指数输出[e-(E-转载 2013-01-06 16:09:27 · 1066 阅读 · 1 评论 -
C语言字节序
文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。 一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访问数转载 2012-12-06 15:23:42 · 5028 阅读 · 0 评论 -
回调函数的概念及其使用
1 什么是回调软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的转载 2013-01-22 15:27:59 · 713 阅读 · 1 评论 -
使用fflush清空缓冲区
在看《C陷阱与缺陷》时候,看到如下代码:#include #include int main(int argc, char *argv[]){ int i = 0; char c; for(i = 0; i { scanf("%d", &c); printf("%d ", i); } printf("\转载 2012-08-27 16:19:14 · 1943 阅读 · 1 评论 -
为什么类中的线程函数必须要声明静态?
之前也没注意到这问题,大家先搞清楚下面几个关键词吧:class CMyTest{public: CMyTest(); ~CMyTest(); DWORD Start(); static DWORD WINAPI ThreadFun(LPVOID); // ....};void main(){ C转载 2012-08-07 13:55:08 · 1425 阅读 · 4 评论 -
指针的大小
这是一个非常基础的问题,教科书上说指针大小和机器字长相同,即32位机指针长度为4字节!但是对不对呢?为什么是这样? 下面对这个问题做一个系统的整理和分析: 首先,介绍几个基本概念:字长:在同一时间中处理二进制数的位数叫字长。通常称处理字长为8位数据的CPU叫8位CPU,32位CPU就是在同一时间内处理字长为32位的二进制数据。二进制的每一个0或1是组成二进制的最小单位,称为一个比特(bit转载 2013-12-16 11:43:26 · 1009 阅读 · 0 评论