数据结构及算法:C语言快速回顾
程序员文章站
2024-03-19 23:11:04
...
杂
以前学过,而且以后应该也不会用,仅仅为了考研《数据结构》而复习。
所以不会细
代码规范
华为C代码规范
见仁见智
我选择沿袭Python的蛇形命名
比大小驼峰都舒服多了
谁用谁知道
stdio.h
stdio.h 是一个头文件 (标准输入输出头文件) , #include 是一个预处理命令,用来引入头文件。 当编译器遇到 printf() 函数时,如果没有找到 stdio.h 头文件,会发生编译错误。
return 0
return 0;
此语句用于表示退出程序
标识符规范
一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)。
C 标识符内不允许出现标点字符,比如 @、$ 和 %
数据类型
指针
#include <stdio.h>
int main ()
{
int var = 0;
// 使用*声明一个指针
int *ip;
// 用&取var1的地址000000000062FE14,
// 然后赋给指针ip,即ip现在存储的是地址000000000062FE14
ip = &var;
printf("var变量的地址: %p\n", &var);
printf("var的内存占用 %d字节\n", sizeof(var));
printf("指针存储的地址是:%p\n", ip);
printf("使用*取到指针存储的地址中的值:%d\n", *ip);
// 同时声明并赋值
int *ip2 = &var;
printf("用&取地址,然后用*取内容%d\n", *(&var));
printf("等价于直接 *ip2 %d\n", *ip2);
return 0;
}
结构体
#include <stdio.h>
#include <string.h>
// 第一种,标签为Book1,不声明结构体变量
struct Book1{
int price;
char title[];
};
// 声明变量book1_1为Book1类型,book1_2为Book1类型的数组,相当于”实例化“
struct Book1 book1_1, book1_2[5];
// 第二种,无标签,直接声明结构体变量,不可重用,只能使用book2_1这个变量
struct{
int price;
char title[50];
}book2_1;
// 第三种,使用typedef关键字创造新的数据类型 Book3
typedef struct{
int price;
char title[50];
}Book3;
// ”实例化“一个Book3类型的变量
Book3 book3_1;
int main() {
// title是数组名,仅是title[0]的地址值,不能这样赋值
// book1_1.title = "LongZu1";
// 可通过此函数将字符串复制到title的内存空间中实现赋值
strcpy(book1_1.title, "LongZu1_1");
printf("%s\n", book1_1.title);
strcpy(book1_2[0].title, "LongZu1_2[0]");
printf("%s\n", book1_2[0].title);
strcpy(book2_1.title, "LongZu2_1");
printf("%s\n", book2_1.title);
return 0;
}
结构体指针
#include <stdio.h>
struct Books{
int price;
char title[50];
};
// 实例化一个Books类型的结构体my_book
struct Books my_book;
// 定义一个指针指向my_book
struct Books *sp = &my_book;
int main() {
printf("the position of my_book: %d\n", &my_book);
printf("the value in pointer sp: %d\n", sp);
// 使用 指针->结构体成员名 的方式访问到结构体成员
sp->price = 100;
// 使用 结构体实例名.结构体成员名的方式访问结构体成员
printf("the price is %d\n",my_book.price);
return 0;
}
字符串
#include <stdio.h>
#include <string.h>
int main() {
char my_str[] = "hello";
printf("%s\n", my_str);
printf("length %d\n", strlen(my_str));
return 0;
}
推荐阅读
-
数据结构及算法:C语言快速回顾
-
Java数据结构及算法实例:快速计算二进制数中1的个数(Fast Bit Counting)
-
Java数据结构及算法实例:快速计算二进制数中1的个数(Fast Bit Counting)
-
C语言程序设计--算法与数据结构之 哈希表的查找(输出查找次数和查找情况)
-
数据结构与算法 | KMP算法及其改进算法的核心思路 (C语言实现)
-
C数据结构与算法-基础整理-排序-05:快速排序
-
C_数据结构与算法(一):C语言基础 - Rudolph_Browne
-
编程语言(c,java,php等等),数据结构,算法,数据库,框架之间的关系? 帮忙给描述一下吧? ?
-
常用排序算法的实现(C语言版)-快速排序
-
常用排序算法的实现(C语言版)-快速排序