|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
知识点是链表部分的
以下是声明
- #define OBJECT char name[]
- #define null NULL
- typedef struct node NODE;
- struct node{
- char name[20];
- NODE *p;
- };
- static int size = 0;
- static NODE *first = null;
- static NODE *last = null;
- static NODE nullNode = {"", null};
复制代码
然后有这样3个方法
- NODE getNode(OBJECT){
- NODE temp = nullNode;
- int i = 0;
- while(temp.name[i++] = name[i]){}
- return temp;
- }
- void addFirst(OBJECT){
- NODE node = getNode(name);
- void toString();
- size++;
- if(!first){
- first = &node;
- last = first;
- toString();
- return;
- }
- node.p = first;
- first = &node;
- }
- void toString(){
- NODE node = *first;
- printf("%s,%d\n", node.name, node.p);
- printf("%s,%d\n", first ->name, first->p);
- }
复制代码
…………
然后调用addFirst时里面的toString输出是正常的,之后什么都不做,调用toString就全是烫了 |
|