新浪博客转存博客园

1.申明数组的时候,没有初始化导致数组存放的数据发生错误。

2.C语言链表操作错误

 1 #include "stdio.h"
 2 #include "stdlib.h"
 3 #include "unistd.h"
 4 int NodeLength = 0;
 5 typedef struct Node{
 6     int data;
 7     struct Node *NextNode;
 8 }Node;
 9 Node *PNode;
10 Node* CreatNode(struct Node *CurrentNode,int data)
11 {
12     Node *NewNode = (struct Node *)malloc(sizeof(struct Node));
13     if ( NewNode  == NULL )
14     {
15         perror("Create Failed!\n");
16     }
17     NewNode->data = data;
18     CurrentNode->NextNode = NewNode;
19     NewNode->NextNode = NULL;
20     CurrentNode = NewNode;
21     return NewNode;
22 }
23 void PrintAllNode(struct Node *HeaderNode,struct Node *CurrentNode)
24 {
25     CurrentNode = HeaderNode;
26     while(CurrentNode != NULL)
27     {
28         printf("%d\n",CurrentNode->data);
29         CurrentNode=CurrentNode->NextNode;
30     }
31 }
32 void DestoryAllNode(struct Node *HeaderNode,struct Node *CurrentNode)
33 {
34     CurrentNode = HeaderNode;
35 
36     while(CurrentNode != NULL)
37     {
38         PNode  = CurrentNode;
39        
40         //free(CurrentNode);//直接释放内存导致非法错误
41         //CurrentNode = NULL;   
42         CurrentNode=CurrentNode->NextNode;
43         free(PNode);        //这个是对的 必须借助第三个变量去释放这个内存
44     }   
45     //free(HeaderNode);
46 }
47 int main(void)
48 {
49     int Value = 7;
50     Node *HeaderNode  = (struct Node *)malloc(sizeof(struct Node));
51     HeaderNode->data = Value;
52     HeaderNode->NextNode = NULL;
53     NodeLength++;
54     Node *CurrentNode  = (struct Node *)malloc(sizeof(struct Node));
55     CurrentNode = HeaderNode;
56     //CurrentNode->NextNode = NULL;
57     CurrentNode = CreatNode(CurrentNode,11);
58     CurrentNode = CreatNode(CurrentNode,12);
59     CurrentNode = CreatNode(CurrentNode,13);
60     CurrentNode = CreatNode(CurrentNode,14);
61     CurrentNode = CreatNode(CurrentNode,15);
62     PrintAllNode(HeaderNode,CurrentNode);
63     DestoryAllNode(HeaderNode,CurrentNode);
64     printf("Success\n");
65     return EXIT_SUCCESS;
66 }

 2.Linux文件操作错误

在对文件进行操作的时候,求文件的长度的时候使用
lseek函数将指针执行文件尾部,但是忘记在后面对文件进行读写操作的时候把文件指针在再次指向文件顶部,此错,谨记。

3.Linux下的Sudo命令

1.在普通用户执行命令的时候忘记加sudo之后,可在下一行添加sudo !! 

执行上一次命令  以root用户的权限,注意空格。
2.在编辑文件时权限不够的时候,如退出时 按ESC之后   w !sudo tee%
其他情况,具体可看这篇博客:
http://www.cnblogs.com/hazir/p/sudo_command.html4.makefile文件小结

今天写了一个makefile文件,在这块做一下笔记

首先源文件的编写:一定要标明 所在头文件的准确位置如#include "../Inc2/Chu.h"其次是 makefile 文件的编写需要先用 $(shell pwd)来获得文件的准确路径然后添加到  VPATH当中去

 

posted @ 2017-05-09 21:30  XQ25478  阅读(141)  评论(0编辑  收藏  举报