![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
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 · 277 阅读 · 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 · 327 阅读 · 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 · 329 阅读 · 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*xint main(){ int a = 10; int b = 20; ..原创 2022-04-10 17:11:47 · 1317 阅读 · 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 · 251 阅读 · 0 评论 -
结构体相关知识
一、结构体内存对齐(1) 如何计算?首先得掌握结构体的对齐规则;1、第一个成员在与结构体变量偏移量为0的地址处。2、其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。 对齐数=编译器默认的一个对齐数与该成员大小的较小值。**vS中认的对齐数值为8**Linux环境没有默认对齐数,其自身大小就是默认对齐数。3.结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍。 ...原创 2022-03-26 17:33:55 · 343 阅读 · 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 · 253 阅读 · 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 · 2523 阅读 · 0 评论