Appearance
C语言-数据结构与算法
C语言基础
因为之前写算法都是用C++,也有了些C++基础,变量常量数据类型就跳过去吧。
首先是环境,学C++时候用Clion,C语言也用它写吧~
新建项目,选C执行文件,语言标准。。。就先默认C99吧,反正是测试环境,应该问题不大

直接运行一手

嗯。。JB家的新UI。。真是。。。。。。。一言难尽
指针
好像最开始学C++开始,就一直没玩明白指针,毕竟一用数组链表就直接上STL库,也不太用得到指针
新的学习阶段,从指针开始!

c
#include <stdio.h>
int main() {
int a = 123;
int * p = &a;
printf("a:%d\n", a);
printf("*p:%d\n", *p);
printf("a的地址:%p\n", &a);
printf("指针p指向的地址:%p\n", p);
printf("指针p自身的地址:%p\n", &p);
return 0;
}
如果你的Clion输出乱码,按照以下顺序配置即可解决:
文件——设置——编辑器——文件编码,都改成UTF-8

然后点击确定,回到代码页面,点击最下方UTF-8,选择GBK

再点击转换,重新运行即可解决

结构体
使用typedef可以给结构体指定别名
C
#include <stdio.h>
#include <string.h>
typedef struct Book {
char isbn[50];
char name[20];
int price;
}B;
int main() {
// 声明
struct Book b;
// 初始化
b.price = 20;
strcpy(b.name, "笑场");
// 声明同时初始化
struct Book a = {"122333123", "冷玚", 45};
B c = {"122334233123", "乡土中国", 65};
return 0;
}属性声明的同时进行变量声明
c
struct Book {
char isbn[50];
char name[20];
int price;
} stu;属性声明的同时进行变量声明及初始化
c
struct Book {
char isbn[50];
char name[20];
int price;
} stu = {"1531", "宇宙超度指南", 46};如果只需要声明一次,可以省略结构体标记
C
struct {
char isbn[50];
char name[20];
int price;
} stu = {"1531", "宇宙超度指南", 46};