
C语言
分享知识类
老鱼37
这个作者很懒,什么都没留下…
展开
-
25、判断机器是小端存储还是大端存储
上代码: 如有错误,请指出!谢谢!原创 2022-04-30 15:30:42 · 110 阅读 · 0 评论 -
24.整形提升
1、看一下题目 这个答案是多少?它是怎么运算的 展示图: 最小的是char 向上进行整形提升!! 如有错误,请指出!谢谢原创 2022-04-29 16:06:27 · 102 阅读 · 0 评论 -
23.&、|、^的含义
1、& 按位与 展示图: 2、按位或: 3、按位异或 对于异或是考的最多的,公司笔试题也会出到,下面给大家看一下一家公司C++面试笔试题就考到了: 品茗股份C++面试题: 以前的做法就是用临时变量来交换值:题目又不能用 所以这里就用到了异或 答案就出来啦! 演示图: 如有错误,请指出!!谢谢您的观看。 ...原创 2022-04-29 14:13:16 · 1232 阅读 · 1 评论 -
23.数据在内存中的储存
1.a=-1 在内存中是怎么储存的呢? 数据在内存中的存储是以二进制补码的形式的: 整数的原反补码是一样的 负数的反码是原码每一位按位取反 补码是反码+1得到的 如果错误,请指出! ...原创 2022-04-29 13:48:50 · 120 阅读 · 0 评论 -
22.<< 和>>的用法
1.<<左移操作符 演示图 上代码: 2.>>右移操作符 演示图: 代码: 如有错误,请指出!!虚心接受原创 2022-04-29 12:36:50 · 529 阅读 · 0 评论 -
21.三子棋
首先我们应该创建三个项目: 第一个是:用来测试三子棋游戏,main主函数写在这里 第二个是:用作函数定义,用来执行游戏 第三个是:用作函数声明 给大家展示代码: 首先是test.c模块的: #define _CRT_SECURE_NO_WARINGS 1 #include "chessboard.h" #include<stdio.h> void menu() { printf("------------1.play\n"); printf("------------0.ex..原创 2022-04-29 01:11:37 · 1599 阅读 · 0 评论 -
16.时间复杂度和空间复杂度
1.概念 复杂度在校招中会出现 所以说还是挺重要的。 例1、 // 计算Func2的时间复杂度? void Func2(int N) { int count = 0; for (int k = 0; k < 2 * N ; ++ k) { ++count; } int M = 10; while (M--) { ++count; } printf("%d\n", count); } 其实就是数执行的次数 大概就是 2*N+10 所以是O(N).原创 2022-04-25 22:49:37 · 107 阅读 · 0 评论 -
15.动态内存分配
1.malloc 1.malloc函数会想堆里申请一片连续的内存空间。 2.如果申请成功则返回指向这片内存的指针,不成功则返回NULL,所以我们在用malloc函数申请内存的时候一定要进行判断是否申请成功。 3.该函数返回值类型是void* 我们在用这个函数的时候并不知道它返回来的值是什么类型的,所以必须在malloc前面进行类型转换,所转换的类型是由我们自己决定的。 例如(int*)malloc(sizeof(int)*n) int main() { int* p = NULL; in原创 2022-04-02 09:04:49 · 186 阅读 · 2 评论 -
14.(动态版文件)通讯录
测试函数: #define _CRT_SECURE_NO_WARINGS 1 #include"Contact4.1.h" void menu() { printf("-------1.add--2.del---------------\n"); printf("-------3.ser--4.modify--------------\n"); printf("-------5.show--6.sort-----------------\n"); printf("-----...原创 2022-04-01 22:56:57 · 363 阅读 · 0 评论 -
13.关于结构体大小计算
关于结构体学习方面的重点难点 做以下阐述: 有这三部分组成: 首先结构体内存对齐; 思考一下这里的12 8 是怎么样产生的,这两个结构体在内存中是怎么被储存起来的。 规则如下: 有没有疑问,就是可不可以修改对齐数呢? 用到#pragma这个预处理指令 可以修改我们的对齐数 还有一个重要的点就是偏移量 就是对于起始点的偏移 步长,如下图 c在内存里放在了0处,i的对齐数是4相对于c的偏移量是4 那么d就是8了 2.结构体传参: 3...原创 2022-03-27 17:01:04 · 129 阅读 · 0 评论 -
12.模拟实现memcpy函数
void*my_memcpy(void* p1, const void* p2, size_t count) { assert(p1 && p2); void* ret = p1;//起始点 while (count--) { *(char*)p1 = *(char*)p2;//一个字节一个字节的赋予 不容易缺漏 ++(char*)p1; ++(char*)p2; } return re...原创 2022-03-27 15:13:37 · 105 阅读 · 0 评论 -
11.模拟实现memmove函数
int main() { int arr[] = { 1,2,3,4,5,6,7,8,9,10}; memmove(arr + 3, arr, 20);//20是内存大小,20字节,五个数字 int i = 0; for (i = 0; i < 10; i++) { printf("%d ", arr[i]); } return 0; } 模拟实现memmove函数: void* my_memmove(void* p1, ...原创 2022-03-27 14:57:48 · 322 阅读 · 0 评论 -
10.模拟实现strcpy函数 和运用strncpy函数
了解一下strcpy函数——拷贝字符串,意思就是将str2拷贝到str1上 str1原来的字符串就不见了 模拟实现strcpy函数: my_strcpy(char* str1, char* str2) { assert(str1 && str2); while (*str1++ = *str2++) { ; } } int main() { char str1[] = "abcd"; char str2[...原创 2022-03-26 12:40:00 · 478 阅读 · 2 评论 -
9.模拟实现strlen函数
先来看看strlen函数的定义 strlen(const char *string)//string是以空结尾的字符串 使用该函数时需要引用<string.h>头文件 定义一个返回值来接收字符串的长度。 模拟实现strlen函数原创 2022-03-26 11:53:21 · 501 阅读 · 1 评论 -
8.模拟实现qsort排序函数
模拟实现qsort函数原创 2022-03-23 14:33:19 · 616 阅读 · 17 评论 -
7.实现字符串,整型,浮点型,的排序函数
方法一:普通冒泡排序函数 只能实现整型排序 void bubble_sort(int arr[], int sz) { int i = 0; for (i = 0; i < sz - 1; i++) { int j = 0; for (j = 0; j < sz - 1 - i; j++) { if (arr[j] < arr[j + 1]) { ...原创 2022-03-23 00:08:21 · 560 阅读 · 0 评论 -
6.用指针数组(存放函数)实现计算器
方法一: void add(int x, int y) { printf("%d\n", x + y); } void sub(int x, int y) { printf("%d\n", x- y); } void mul(int x, int y) { printf("%d\n", x * y); } void div(int x, int y) { printf("%d\n", x / y); } void menu() { printf("----1....原创 2022-03-22 22:05:37 · 367 阅读 · 0 评论