注意


[2011-3-24 15:15]

{

E:\程序员实用算法SourceCode\CH2\CITYTEMP.C-改

C语言除法只保留整数位。所以3/2的结果是1。

所以只有三个数的话 3/2 +1才是中间那个数。


链表的头结点(header)和头指针(head)不是一回事。头结点是个真正的节点,而头指针是一个指针而已。

以后自己编写函数要有头结点,比较方便,简化逻辑。比如在第一个节点前加入节点,或删除第一个节点时。


指针要初始化,指向一个合理的内存后才能使用,比如:

char *s1 = (char *)malloc(sizeof(128));//这里的malloc是必须的,否则s1可能指向危险内存。

char *s2 = "fuck!";

strcpy(s1, s2);


char *fgets(char *s, int n, FILE *stream);

用于替代有溢出问题的gets( );

从流中读取n-1个字符,除非读完一行。最后一个字符补'\0'。

换行符也被读取。


数组初始化值的个数可少于数组元素个数。当初始化值的个数少于数组元素个数时,前面的按序初始化相应值, 后面的初始化为0(全局或 静态数组)或为不确定值(局部数组)。

}


2011-05-26 22:06:10

全局数组初始化不能有变量,像课程设计中的lpath。

double d;scanf("%lf",d);//要加上l

volatile意思为可变的 编译器不对其优化 每次都在内存中读取而不是寄存器中 用于多线程和多程序访问的变量


在程序运行不正确的时候,首先检查是不是变量写错了,例如毕设中的数组0,和1.还有时间统计中的starttime-starttime


 

 

posted @ 2011-03-24 21:27  Finux_you  Views(171)  Comments(0Edit  收藏  举报