最新 最热

【C 语言】指针数据类型 ( 野指针 | 避免野指针推荐方案 )

参考 【C 语言】内存管理 ( 动态内存分配 | 栈 | 堆 | 静态存储区 | 内存布局 | 野指针 ) 四. 野指针 ( 程序BUG根源 ) 博客章节 ;

2023-03-29
1

【C 语言】指针数据类型 ( 指针步长 | 复杂指针阅读技巧 )

指针 也是一种 数据类型 , 其 类型 是 指针 指向的 内存空间 的 数据类型 ;

2023-03-29
1

【C 语言】指针数据类型 ( 指针类型变量 与 指针指向的内存块 概念区别 | 指针赋值 | 指针运算 | 内存赋值 | 内存取值 | 内存修改注意事项 )

给指针赋值 : 给上述指针变量 p 赋值操作 , 如 p = 0x7F451D12 , 只改变指针变量 p 的值 , 没有改变指针变量 p 原来指向的 内存块 中存储的值 ;

2023-03-29
0

【C 语言】指针数据类型 ( 指针类型变量 | 使用 * 操作内存 )

测试 指针 变量占用的内存空间大小 : 定义一个 int * 指针类型变量 , 使用 sizeof 函数 获取该变量的大小 ;

2023-03-29
0

【C 语言】内存四区原理 ( 栈内存与堆内存对比示例 | 函数返回的堆内存指针 | 函数返回的栈内存指针 )

在 main 主函数中 , 调用 get_memory 子函数 , 返回 malloc 初始化的堆内存 , 可以 正常 使用指针 操作该 堆内存 ;

2023-03-29
1

【C 语言】内存四区原理 ( 常量区示例 | 不同函数返回的相同字符串的指针地址相同 )

将 字符串常量 赋值给指针时 , 首先去 全局变量区 的 常量区 查询该 字符串常量是否存在 ,

2023-03-29
1

【C 语言】数据类型本质 ( void 关键字作用 | 数据类型封装 | 作为 参数 或 返回值 代表无 | void* 指针赋值与被赋值 | void 类型变量不存在 )

该函数被 暴露给调用者 , 但是函数的 void **handle 参数类型是 void** , 这就意味着 函数调用者 不知道 该类型的结构 ;

2023-03-29
1

【C 语言】数据类型本质 ( 数据类型 | 数据类型本质 | 数组地址 | 数组首元素地址 )

编译器 一旦看到 int 类型变量 , 就知道需要分配 4 字节内存 , 用于存储该变量 ;

2023-03-29
1

【C 语言】文件操作 ( fseek 函数 )

FILE 文件结构中 , 存在一个指针 , 每次调用文件的读写函数 , 该指针就会移动 ;

2023-03-29
1

【C 语言】文件操作 ( 使用 fread 和 fwrite 实现二进制文件的拷贝 | stat 统计文件大小 | feof 判定文件结尾 )

统计文件大小 , 需要借助 stat 结构体 , 调用 stat 方法 , 将该结构体的指针作为参数传入 , 文件的大小会写出到 stat 结构体的 _off_t st_size 成员中 ;

2023-03-29
1