摘要:
随机访问 int fseek(FILE *stream, long int offset, int whence) stream -- 指向 FILE 对象的指针, 该 FILE 对象标识了流. offset -- 这是相对 whence 的偏移量, 以字节为单位. 若为负则向前移. whence 阅读全文
摘要:
文件读写 #include <stdio.h> 读取文件 FILE *fopen(char *filename, char *mode); 参数说明: | 打开方式 | 说明 | | : : | : : | | "r" | 以只读方式打开文件. 文件必须存在, 否则打开失败. | | "w" | 以 阅读全文
摘要:
预处理器 C 预处理器只是一个文本替换工具, 它们会指示编译器在实际编译之前完成所需的预处理. C 预处理器(C Preprocessor)简写为 CPP. 所有的预处理器命令都是以井号 (#) 开头. 它必须是第一个非空字符, 为了增强可读性, 预处理器指令应从第一列开始. | 指令 | 描述 | 阅读全文
摘要:
枚举 (enum) enum 枚举类型名称 {枚举 = 初始值, ...} 不设置初始值时, 第一个默认为0, 后续比前一个元素大1. 创建与使用 enum Status {low = 1, middle = 2, high = 3}; int main() { enum Status s1 = l 阅读全文
摘要:
联合体 联合体中的变量共用同一个空间 创建和使用 #include <stdio.h> union Object { int a; char b; float c; }; int main() { union Object object; object.a = 65; printf("%c", ob 阅读全文
摘要:
结构体 创建和使用 #include <stdio.h> struct Student // 结构体标签 { int id; // 成员 char* name; int age; }s1 = {1, "小明", .age = 18}; // 结构变量 typedef struct Student S 阅读全文
摘要:
指针函数 返回指针类型的结果的函数 #include <stdio.h> int* fun(int* a) { return a; } int main() { int a = 10; int* p = &a; a = 20; printf("%d", *fun(p)); // 20 return 阅读全文
摘要:
指针数组 用于存放指针的数组 int a = 1, b = 2, c = 3; int* arr[3] = {&a, &b, &c}; // arr[0] == &a // *arr[0] == a int** p = arr; // *p == arr[0] == &a // p[0] == ar 阅读全文
摘要:
多级指针 int a = 13; int* p0 = &a; int** p1 = &p0; printf("%p\n", p0); // a的地址 printf("%d\n", *p0); // 13 printf("%p\n", p1); // p0的地址 printf("%p\n", *p1) 阅读全文
摘要:
指针与数组 数组名是一个指向数组中第一个元素的常量指针. 数字数组 将一个指针指向一个数字数组, 指针中存储了数组中第一个元素的地址. int arr1[] = {1, 2, 3}; int* p = arr1; printf("%d", *p); // 1 "指针表示法" printf("%d", 阅读全文