C语言 day18

结构体

位段

  1. 信息在计算的存取长度一般以字节为单位;
  2. 有事储存一个信息不必用一个字节或多个字节
    • 例如:真或假:用0或1,只需一位即可.
阅读全文

C语言 day17

结构体-结构体的内存分配

引入

1
2
3
4
5
6
struct data{
char c;
int i;
};
struct data stu;
printf("%d\n",sizeof(stu));
阅读全文

C语言 day16

结构体

typedef关键字

给已有类型取个别名

使用步骤:

  1. 先用已有类型定义一个变量
  2. 用别名替换变量名
  3. 在整个表达式前添加 typedef
阅读全文

C语言 day15

结构体

  1. 结构体数据类型
  2. 结构体变量
  3. 结构体数组
  4. 结构体指针
  5. 结构体内存分配
  6. 结构体位段
阅读全文

C语言 day14

const 关键字

1.const 修饰变量为只读

案例 1:

1
2
3
4
5
6
//const 修饰num为只读变量 num只能取值 不能借助num进行写操作
const int num=10;
printf("num=%d\n",num);

num=100;//报错 [Error] assignment of read-only variable 'num'

阅读全文

C语言 day13

字符串处理

atoi atol atof

atoi函数

  • 头文件:#include<stdlib.h>
  • 函数原型:int atoi(const char *str)
  • 函数功能: 把参数 str 所指向的字符串转换为一个int整数
  • 参数:str – 要转换为整数的字符串。
  • 函数返回值:该函数返回转换后的长整数,如果没有执行有效的转换,则返回零。
阅读全文

C语言 day12

字符串处理

  1. 测字符串长度函数
  2. 字符串拷贝函数
  3. 格式化字符串操作函数
  4. const 关键字
阅读全文

C语言 day11

动态内存申请

  1. 动态内存申请的相关概念
  2. 静态分配和动态分配
  3. 动态内存申请相关函数
  4. 内存泄漏
阅读全文

C语言 day10

数组

二维数组的分析(了解)

案例 1:

1
2
3
4
5
6
7
8
9
int arr[3][4];
/*
二维数组名:代表的是二维数组的首行地址,+1跳过一行
对行地址取 `*` 将变成当前行的第0列的列地址`arr[0]=*(arr+0)=*arr` `arr[1]=*(arr+1)`
*/

//例如取出第二行第三列的元素
printf("%d",*(*(arr+1)+2));
// *(*(arr+1)+2)=*(arr[1]+2)=arr[1][2]这就是计算机的方式
阅读全文