1、如果想要通过函数修改全局变量的值,那么形参不能和全局变量的名字相同,否则达不到修改的目的。在这里可以使用指针。
2、今天在linux(fedora)下写操作文件的程序,但是文件中第一次写入时有数据,在以后就没有数据了,总是找不到原因。头的一句话惊醒我了,我没有关闭文件。网上文章说,linux下不用关闭文件,系统会自动将缓冲区中的数据写入到文件中。但个人觉得还是写上好,万一遇上今天的情况那不就,,,
3、在进行socket编程时,进行下次连接之前首先需要关闭当前连接,然后再新建socket标识符,重新连接服务器。在这里如果重新建立socket标识符,但是没有关闭以前的标识符的话也不能连接。现在还不明白是怎么回事,留待以后解决。或者某位读者给我写下也可。O(∩_∩)O
4、出现了“double free or corruption (top)..."这样的错误。在百度、谷歌以后,都说是重复free问题。仔细查看代码以后,发现原来是文件指针问题。在循环体外创建了一个文件指针并打开。在一次运行以后正确关闭。但是当第二次运行时仍然会close文件,问题就出在这,关闭不存在的文件。
5、二叉树的先序、中序、后序遍历是按照根结点来定义的。即,如果先遍历跟结点,那么就是先序遍历。
6、break的作用范围(退出一层循环)
代码1:
int main(void)
{
int i = 0;
while(1)
{
i++;
if(16 == i)
{
break; //break以后直接跳出while循环
}
}
printf("End of function\n");
return 0;
}
代码2:
int main(void)
{
int i = 0;
while(1)
{
i++;
switch(i)
{
case 1:printf("1\n");
case 2:printf("2\n");
case 3:break; //break只是结束switch并不能跳出while循环
case 4:
case 5:i = 0;printf("2345\n");
}
}
printf("End of function\n");
return 0;
}