c语言
文章平均质量分 69
风起、风落
大三在读 但行好事,莫问前程
展开
-
删除有序数组中的重复项&&数组形式的整数加法&&合并两个有序数组
给你一个升序排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有k个元素,那么nums的前k个元素应该保存最终结果。将最终结果插入nums的前k个位置后返回k。不要使用额外的空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。判题标准。...原创 2022-07-29 15:37:50 · 288 阅读 · 10 评论 -
函数栈帧的创建和销毁
将ebp压栈esp指向ebp这里是主函数里的ebp。因为都是地址所以ebp-8为在ebp地址减去8个字节。.将esp赋值给ebp,ebp与esp都指向ebp。把eax移动到ebp-32(20h为16进制)中。14h以十六进制打印代表20即ebp-20。栈空间的地址使用为先使用高地址,在使用低地址。把ebp-14h(ebp-20)传入eax中。将原来esp所指的地址加8即现在的位置。ebpesp两个寄存器存放的是地址。此时ebp-8存放的是a值为10。......原创 2022-07-25 12:28:07 · 563 阅读 · 20 评论 -
数组中数字出现的次数 II&&消失的数字&&数组中数字出现的次数
这里的oj题全都是接口型也就是只给出一个函数填写即可提示以下是本篇文章正文内容,下面案例可供参考。原创 2022-07-23 16:54:00 · 184 阅读 · 18 评论 -
文件的使用详解
程序文件包括(后缀为.c)的源程序文件,(后缀为.obj)的目标文件,(后缀为.exe)的可执行程序。有一个文件,与其绑定一个文件信息区,该文件信息区可以看作是一个结构体的变量。用fopen打开这个文件,主动创建文件信息区,将文件信息区的地址传递过来。“w"为打开文件如果不存在这个文件使用"w"就会自动创建一个空文件。fseek来判断文件指针的位置和偏移量来定位文件指针。输出——代表的是从内存到文件中输出即写入。输入——代表的是从文件中输入到内存中即读取。......原创 2022-07-16 11:59:15 · 1352 阅读 · 22 评论 -
预处理详解
二、#define作用1.#define定义符号(1).定义为常量定义为常量时 将宏替换到代码中 是在预处理阶段(2).为关键字创建一个简短的名字(3).用符号替换一种实现(4).在#define后面加分号2.#define定义宏(1).机制#define name(parament-list) stuff这里切记 name与左括号紧贴着 否则将会被视为转换内容 stuff的一部分注意这里是要把整体传过去再运算三、#和##1.##作用是找到该对象所对应内容的字符串只要是原创 2022-07-13 16:21:28 · 382 阅读 · 18 评论 -
通讯录(静态+动态)
主要是嵌套调用关于一个人信息的机构体数组主要是类型的定义和函数的声明2. contact.c函数的实现3.test.c测试通讯录的模块二、动态内存通讯录1.contact.h2.contact.c相比于静态的 只需将初始化 增加 销毁内存3. test.c不要忘记销毁内存......原创 2022-07-10 17:21:14 · 36727 阅读 · 22 评论 -
动态内存开辟与柔性数组详解
size代表字节数如果 开辟空间成功 则返回这块空间的地址如果 开辟空间失败 则返回NULL正常来说 创建10个整形空间 应为void*p=void *malloc(10 sizoef(int));但是由于void 解引用会报错所以 (int * )p=(int * )malloc(10sizeof(int));如果free(NULL) 则代表什么都不做num代表元素个数size代表字节数与malloc函数不同,calloc函数可以将每个元素初始化为03.realloc函数r原创 2022-07-09 12:38:46 · 361 阅读 · 10 评论 -
结构体+联合体 详解
p1,p2,p3都是结构体变量但由于p1,p2在main外部定义 是全局变量p3是局部变量声明的时候 不完全声明 为匿名结构体类型注意匿名结构体类型只能使用一次3.结构体的引用1.嵌套调用通过调用 pa变量 返回到stdent结构体中2.自引用(1)无法做到自己调用自己 会无限套娃(2)若是想做到用本身类型访问下一个同类型结构体使用指针指向下一个要访问的结构体三、结构体的初始化这里的初始化很简单就举一个嵌套调用的例子四、结构体的内存对齐1.用法1.第一个结构体成员放在 0偏移原创 2022-07-07 15:42:10 · 2372 阅读 · 22 评论 -
内存函数 memcpy,memmove ,memcmp
memcpy表示内存函数,用法跟strcpy差不多, 都是作为拷贝函数存在strcpy只能用于字符串函数,而memcpy函数可以使用任意类型在使用任意类型时,肯定用到的参数是voidvoid* memcpy(const void *dest,const void *src, size_t sum);这里的sum作为字节数传递2.模拟实现memcpy函数二、memmove函数1.用法memmove函数是用于处理内存重叠的情况参数同memcpy函数相同voidmemmove(const v原创 2022-07-05 17:37:39 · 274 阅读 · 18 评论 -
字符串函数(一)之常见用法
计算字符串长度 但应注意 使用 string.h头文件strlen函数返回值为 unsigned int如果我们正常来看 strlen(“abc” )---- 3 strlen("abcdef’)----63-6应为 -3 但是-3为无符号数 所以应该输出-3的补码即一个很大的数 为 >二.strcpy函数1.用法拷贝函数将arr2拷贝到arr1中使用头文件但是必须保证arr1能够放下arr2需要注意的是 拷贝时 将’\0’也会拷贝过去2.模拟实现s...原创 2022-07-04 11:37:00 · 515 阅读 · 28 评论 -
指针与字符串相关练习题
我们要考虑时间复杂度问题小于o(N)说明循环次数不能为双for二.字符串左旋1.2.三步翻转法三.字符串旋转结果四.颠倒字符串主要应用三步翻转法i love you.首先 将整体翻转 .uoy evol i再将每个进行翻转 : .uoy----you. evol----love i-----i再开始的时候定义两个指针 dest src想使用 dest 指向每个小整体字符的第一个src指向每个小整体字符的最后一个在循环中触发为 src指向 ’ '或者 ‘\0’pr原创 2022-07-02 19:18:17 · 459 阅读 · 32 评论 -
从指针开始变强(四)之超级详细笔试题(二)
大家多多支持 有评必回!原创 2022-07-01 19:06:18 · 198 阅读 · 32 评论 -
从指针开始变强(三)之超级详细运算题
一起加油吧!原创 2022-06-30 12:28:27 · 330 阅读 · 38 评论 -
从指针开始变强(二)之函数指针
大家多多支持原创 2022-06-29 11:35:31 · 202 阅读 · 12 评论 -
从指针开始慢慢变强(一)
从初始指针原创 2022-06-28 16:07:03 · 155 阅读 · 16 评论 -
指针的基本用法和注意事项
一些各位注意的点 都标记好了 多多支持原创 2022-06-24 21:17:01 · 286 阅读 · 34 评论 -
数据的存储详解
超级详细的储存知识 大家来支持一波吧!原创 2022-06-18 21:18:52 · 279 阅读 · 37 评论