1、项目结构
2、main.c文件
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "linklist.h"
int main(){
initLinkNode();
return 0;
}
3、linklist.h文件
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct LinkNode{
int num;
struct LinkNode *next;
};
struct LinkNode * initLinkNode();
4、linklist.c文件
#include "linklist.h"
struct LinkNode * initLinkNode(){
struct LinkNode * headNode = malloc(sizeof(struct LinkNode));
headNode->num = -1;
headNode->next = NULL;
struct LinkNode * tem_Node = headNode;
int val = -1;
while(1){
printf("请输入一个数据,输入-1代表退出\n");
scanf("%d",&val);
if (-1 == val){
break;
}
struct LinkNode * current_Node = malloc(sizeof(struct LinkNode));
current_Node->num = val;
current_Node->next = NULL;
tem_Node->next = current_Node;
tem_Node = current_Node;
}
return headNode;
}
5、Makefile文件
CC := gcc
TARGET ?= target
MAIN_FILES := ./main.c
INCDIRS := linkNode
SRCDIRS := linkNode \
src
INCLUDE := $(patsubst %, -I %, $(INCDIRS))#在所有的.h文件目录上加 -I
CFILES := $(foreach dir, $(SRCDIRS), $(wildcard $(dir)/*.c))#查找指定文件里面的所有.c文件
$(TARGET):$(MAIN_FILES) $(CFILES)
$(info target: $@)
$(info all: $^)
$(info first: $<)
$(info SRC_DIRS_all: $(CFILES))
$(CC) -o $@ $^ $(INCLUDE)
.PHONY : clean
clean:
rm $(TARGET)
文件网盘链接:https://pan.baidu.com/s/1umw8THwDFlR64shR0xS-FQ?pwd=z5uw
提取码:z5uw