欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据结构及算法: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 标识符内不允许出现标点字符,比如 @、$ 和 %

数据类型

数据结构及算法:C语言快速回顾数据结构及算法: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;
}

数据结构及算法:C语言快速回顾
数据结构及算法:C语言快速回顾

结构体

#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;
}

数据结构及算法:C语言快速回顾

字符串

#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语言快速回顾

相关标签: 数据结构及算法