
C
文章平均质量分 54
c语言
热爱编程的林兮
静下心来,慢慢走就行,慢慢走,别停下!
展开
-
文件操作
1、int fseek(FILE *pf,long offset,int fromwhere) 其中pf是文件指针,offset表示移动偏移量,它应是long型数据,使用常量时,要加上 后缀“L”;offset为负时,表示按相反方向计算偏移量,即为负时从当前位置向前计算,为正 时表示从当前位置向后计算。fromwhere表示从哪个位置开始计算偏移量,fromwhere可 用标识符或数字表示,有三种情况,如下图所示。函数的功能是将fp所指文件的读写指 针移动到fromwhere偏移offset的地方,设置成原创 2022-04-12 23:35:37 · 323 阅读 · 4 评论 -
qsort
qsort是一个库函数,如下所示: int cmp_int (const void*e1, const void*e2) { } void myqsort(void* base, size_t nums, size_t size, int(*cmp)(const void*e1, const void*e2)) { } base为待排序的起始位置,nums为数组的元素个数,size为该数组一个元素的字节大小。 cmp为一个比较函数(qsort要求使用者自定义一个比较函数),比较e1和e2的大原创 2022-03-17 23:21:36 · 357 阅读 · 0 评论 -
动态内存管理
一、函数malloc(申请空间) void* malloc (size_t size) 头文件 #include<stdlib.h> (1)若开辟失败会返回一个空指针。 (2)如果我们不释放:当程序结束,该内存空间会被系统自动回收。 (3)申请的空间不会初始化。 当程序不结束,动态内存是不会自动回收的,就会形成内存泄漏的问题。 二、函数free(释放空间) void free (viod*memblock) 头文件 #include<stdlib.h> ...原创 2022-03-30 21:22:57 · 393 阅读 · 1 评论 -
宏定义(#define)及相关知识
1、#define name(pargament-list) stuff 注意:(1)#define 后面不要加符号,因为在使用宏定义时也会加上符号。 (2)参数列表的左括号必须和name紧邻,如果二者之间有任何空白存在,参数列表就会被解释为stuff的一部分。 如下面代码:10-1=9,9*9=81;但是答案是-1. #include<stdio.h> #define square(x) x*x int main() { int a = 10; int b = 20; ..原创 2022-04-10 17:11:47 · 1529 阅读 · 3 评论 -
今日所学(函数自我模拟)
一,模拟strlen函数 #include<stdio.h> int my_strlen(char *ar) { int i = 0; while (*ar != '\0') { i++; *ar++; } return i; } int main() { char arr[] = "abcdefg"; int x = my_strlen(arr); printf("%d", x);...原创 2022-03-20 23:23:22 · 279 阅读 · 0 评论 -
结构体相关知识
一、结构体内存对齐 (1) 如何计算? 首先得掌握结构体的对齐规则; 1、第一个成员在与结构体变量偏移量为0的地址处。 2、其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。 对齐数=编译器默认的一个对齐数与该成员大小的较小值。 **vS中认的对齐数值为8 **Linux环境没有默认对齐数,其自身大小就是默认对齐数。 3.结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍。 ...原创 2022-03-26 17:33:55 · 382 阅读 · 0 评论 -
今日所学
1.char虽然是字符类型,但是字符类型储存的时候是以ASCII码值储存的,ASCII值却是整数!并且char类型有无符号不确定,看编译器的决定。 2.原反补码的关系。 正数:原反补码都一样,即该数的32位二进制数。 负数:原码为32位二级制数。 反码为 原码除符号位外按位取反。 补码为 反码加一。 如 -10: 原:1000 0000 0000 0000 0000 0000 0000 1010 反:1111 1111 1111 1111 1111 1111 1111 0101 补:111原创 2022-02-26 11:01:09 · 288 阅读 · 0 评论 -
三子棋的实现
三子棋 一.菜单。 二.游戏代码。 三.胜负判断。 四.三子棋实现。 下列代码所需要的头文件及宏定义 { #define ROW 3 #define COL 3 #include <stdio.h> #include <stdlib.h> #include <time.h> } 一.菜单(菜单的实现,是否玩游戏) int menu() { printf("--------------------------\n"); printf(...原创 2022-01-22 23:03:27 · 2555 阅读 · 0 评论