C系:C语言快速回顾

BUG汇总

  1. 直接printf一个int型数据在这里插入图片描述
    完全是被Python和Java惯坏了,注意加 "%d"

代码规范

华为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;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值