C
pandawuwyj
这个作者很懒,什么都没留下…
展开
-
看书小记4(《C专家编程》)
日期与时间 struct tm { int tm_sec; /* 秒 – 取值区间为[0,59] */ int tm_min; /* 分 - 取值区间为[0,59] */ int tm_hour; /* 时 - 取值区间为[0,23] */ int tm_mday; /* 一个月中的日期原创 2014-04-30 00:48:00 · 1153 阅读 · 0 评论 -
看书小记6(《C专家编程》)
typedef不常见但值得一提的用途: 1. 用typedef来定义与平台无关的类型。 比如定义一个叫 REAL 的浮点类型,在目标平台一上,让它表示最高精度的类型为: typedef long double REAL; 在不支持 long double 的平台二上,改为: typedef double REAL; 在连 double 都不支持的平台三上,改为: typedef原创 2014-05-03 02:02:41 · 1030 阅读 · 0 评论 -
看书小记5(《C专家编程》)
函数指针 1. 函数与函数指针类型要匹配; 2. 函数指针用来保存函数首地址,即可以通过该指针访问函数; 3. 函数指针可以指向一类函数,而不是一个函数,即可以重新赋值。 int maxNumber(int a, int b) { return a > b? a: b; } void fileFunc(){ cout void editFunc(){原创 2014-05-01 23:37:55 · 793 阅读 · 0 评论 -
看书小记2(《C专家编程》)
1. NUL用来结束一个ACSII字符串, NULL表示空指针 2. break语句跳出最近的那层循环语句或switch语句 3. static: (1). 修饰局部变量 局部变量存放在栈,生命周期随语句块结束而结束。static对局部变量修饰后,作用域不变,但生命周期持续到整个程序结束,并存放在静态数据区。 用static修饰局部变量,只在初次运行时进行初始化,且只原创 2014-04-27 00:33:44 · 1204 阅读 · 0 评论 -
看书小记1(《C专家编程》)
#include "stdafx.h" #include using namespace std; void foo(const char **p){} void charFoo(const char *p){} int _tmain(int argc, char** argv) { //foo(argv); char* p = NULL; charFoo(p)原创 2014-04-24 22:35:13 · 884 阅读 · 0 评论 -
看书小记3(《C专家编程》)
gets()不检查缓冲区空间,多出来的字符会覆盖堆栈原先的内容。 fgets()的第二个参数说明最大读入的字符数。如果这个参数值为n,那么fgets()就会读取最多n-1个字符或读完一个换行符为止。两个条件满足任意一个结束。 fgets()读取到换行符,就会把它存到字符串里,而不是想gets()那样丢弃它。 fgets()的第三个参数说明读哪个文件。从键盘上读数据时,可以使用stdin(代表原创 2014-04-28 23:48:54 · 975 阅读 · 0 评论 -
看书小记8(《C专家编程》)
int setjmp(jmp_buf env); void longjmp(jmp_buf env, int val); 系统跳转函数 ,可以直接在函数之间跳转 (比goto 强大多了) 将上下文 ,就是cpu和内存的信息保存到env中 ,然后调用 longjmp的时候跳转到使用env中的信息 ,恢复上下文 。如果是第一回调用setjmp 它会返回 0,如果从longjmp原创 2014-05-21 22:57:17 · 810 阅读 · 0 评论 -
指针数组和数组指针
指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针 数组指针:a pointer to an array,即指向数组的指针 还要注意的是他们用法的区别,下面举例说明。 int* a[4] 指针数组 表示:数组a中的元素都为int型指针转载 2014-05-28 22:14:24 · 715 阅读 · 0 评论