C语言
分享知识类
老鱼37
这个作者很懒,什么都没留下…
展开
-
25、判断机器是小端存储还是大端存储
上代码:如有错误,请指出!谢谢!原创 2022-04-30 15:30:42 · 92 阅读 · 0 评论 -
24.整形提升
1、看一下题目这个答案是多少?它是怎么运算的展示图:最小的是char 向上进行整形提升!!如有错误,请指出!谢谢原创 2022-04-29 16:06:27 · 83 阅读 · 0 评论 -
23.&、|、^的含义
1、& 按位与展示图:2、按位或:3、按位异或对于异或是考的最多的,公司笔试题也会出到,下面给大家看一下一家公司C++面试笔试题就考到了:品茗股份C++面试题:以前的做法就是用临时变量来交换值:题目又不能用 所以这里就用到了异或答案就出来啦!演示图:如有错误,请指出!!谢谢您的观看。...原创 2022-04-29 14:13:16 · 1208 阅读 · 1 评论 -
23.数据在内存中的储存
1.a=-1 在内存中是怎么储存的呢?数据在内存中的存储是以二进制补码的形式的:整数的原反补码是一样的负数的反码是原码每一位按位取反补码是反码+1得到的如果错误,请指出!...原创 2022-04-29 13:48:50 · 91 阅读 · 0 评论 -
22.<< 和>>的用法
1.<<左移操作符演示图上代码:2.>>右移操作符演示图:代码:如有错误,请指出!!虚心接受原创 2022-04-29 12:36:50 · 487 阅读 · 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 · 1553 阅读 · 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 · 75 阅读 · 0 评论 -
15.动态内存分配
1.malloc1.malloc函数会想堆里申请一片连续的内存空间。2.如果申请成功则返回指向这片内存的指针,不成功则返回NULL,所以我们在用malloc函数申请内存的时候一定要进行判断是否申请成功。3.该函数返回值类型是void* 我们在用这个函数的时候并不知道它返回来的值是什么类型的,所以必须在malloc前面进行类型转换,所转换的类型是由我们自己决定的。例如(int*)malloc(sizeof(int)*n)int main(){ int* p = NULL; in原创 2022-04-02 09:04:49 · 153 阅读 · 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 · 337 阅读 · 0 评论 -
13.关于结构体大小计算
关于结构体学习方面的重点难点 做以下阐述:有这三部分组成:首先结构体内存对齐;思考一下这里的12 8 是怎么样产生的,这两个结构体在内存中是怎么被储存起来的。规则如下:有没有疑问,就是可不可以修改对齐数呢?用到#pragma这个预处理指令 可以修改我们的对齐数还有一个重要的点就是偏移量 就是对于起始点的偏移 步长,如下图 c在内存里放在了0处,i的对齐数是4相对于c的偏移量是4 那么d就是8了2.结构体传参:3...原创 2022-03-27 17:01:04 · 92 阅读 · 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 · 83 阅读 · 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 · 309 阅读 · 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 · 439 阅读 · 2 评论 -
9.模拟实现strlen函数
先来看看strlen函数的定义strlen(const char *string)//string是以空结尾的字符串使用该函数时需要引用<string.h>头文件定义一个返回值来接收字符串的长度。模拟实现strlen函数原创 2022-03-26 11:53:21 · 487 阅读 · 1 评论 -
8.模拟实现qsort排序函数
模拟实现qsort函数原创 2022-03-23 14:33:19 · 594 阅读 · 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 · 507 阅读 · 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 · 335 阅读 · 0 评论