# datastruct **Repository Path**: LingJianCode/datastruct ## Basic Information - **Project Name**: datastruct - **Description**: 数据结构学习 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-08-10 - **Last Updated**: 2024-06-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Study Data Struct ## vscode环境配置 - 安装gcc,gdb ```shell yum install gcc gdb -y ``` - 安装C/C++ Extension Pack插件后需要重启vscode,如果是远程vscode server则也需要重启。 - 运行配置 settings.json中是用于coderunner插件使用,而launch.json和tasks.json是c/c++运行文件使用。右上角运行的类型有不同。 ```json "code-runner.executorMap": { "c": "cd $dir && gcc -std=c99 $fileName -o $fileNameWithoutExt.out && $dir$fileNameWithoutExt.out" }, ``` ## 编译: ```shell gcc -std=c99 linkList.c ``` ## C语言中的malloc 要给指针分配一块内存,该内存是实际数据结构的内存而不是分配一个指针的内存 ```c #include #include #define MAXSIZE 5 typedef struct LNode *List; struct LNode { ElementType Data[MAXSIZE]; Position Last; /* 保存线性表中最后一个元素的位置 */ }; // 正确,给指针分配结构体的内存 List L = (List)malloc(sizeof(struct LNode)); // 错误,给指针分配的是一个指针的内存 List L = (List)malloc(sizeof(List)); // 可以查看两种分配的内存大小区别 printf("%ld %ld\n", sizeof(struct LNode), sizeof(List)); ``` ## c语言中的输入 ### scanf ```c ``` ### gets ```c ```