C
C语言汇总
_Gorden_
多喝凉白开。
展开
-
X6818启动制卡的过程
手贱不小心覆盖了BootLoader,需要自行烧写bootloader。uboot烧写时的问题partition manager.exe不能在win 10上跑,一般是因为版本太老了,无法兼容,需要在网上找了一个Paragon Partition Manager的版本,发现分区前划分100-200MB后,没办法指定盘符了。就像下面:尝试了各种办法都没有办法,猜测是因为我的TF卡内存太大了,64G,当超过32G且文件格式为FAT32的硬盘无法被window识别的原因。转向了使用ubuntu烧写的原创 2018-01-29 11:03:26 · 1022 阅读 · 16 评论 -
vi/vim写C、C++没有自动缩进解决方法
笔者用了别人的虚拟机写了个.c和.cpp都没有自动缩进,真的很烦。查询网络后的解决方法是:直接在 /etc/vim/vimrc文件前面加上set cindent这个设置是设置C/CPP自动缩进的,有一些情况是vimrc位于/etc目录下,自行查一下吧。...原创 2020-06-05 15:34:11 · 685 阅读 · 0 评论 -
UDP局域网广播(linux环境C语言)
1.getsockopt和setsockopt函数的使用该函数是系统手册可以查询得到,可以用man setsockopt得到的信息如下:我们要使用UDP广播,那么需要的是使用setsockopt( )函数,参数使用如下:sock:将要被设置或者获取选项的套接字。level:选项所在的协议层。level指定控制套接字的层次.可以取三种值:1)SOL_SOCKET:通用...原创 2020-02-21 17:58:57 · 1258 阅读 · 0 评论 -
sockaddr_in结构体需要的头文件
sockaddr_in所需的文件原创 2020-02-15 14:41:09 · 7686 阅读 · 0 评论 -
四种查找算法(C语言)
1.二分查找(折半查找)二分查找算法是针对以及排序好的数据进行查找,当查找一个数时,选择中间的一个数据作为比较,同时划分为左子数组合,右子数组,算法思想步骤如下:i.如果中间值等于查找值,则返回中间值的下标index;ii.如果查找值小于中间值,那么在左子数组进行查找,重复此过程如果查找值大于中间值,那么在右子数组进行查找,重复此过程。中间值的下标计算方式:其中low是指小数的...原创 2020-01-16 14:23:56 · 2343 阅读 · 0 评论 -
实现一个单链表的反转reverse,返回新的头节点
1.链表的数据结构typedef struct node{ int data; struct node* next;} node;2.实现思路如下,有3个指针,pre,cur,lasti.开始先将第一个指针指向NULL,ii.让cur指向pre,然后循环后移3个指针,让cur指向pre,直到last==NULL就结束iii....原创 2020-01-15 22:07:20 · 623 阅读 · 0 评论 -
产生段错误的调试方法(gdb命令,如何产生core文件)
程序产生段错误,那么我们可以让程序产生core文件,在该文件夹下输入命令:ulimit -c unlimited 这个命令表示不限制core文件的大小,这个命令的时效只有现在,下次登录就没有默认不产生core文件了,需要再次运行。 编译的时候,在gcc 后面添加一个 -g 选项,-g选项是为了方便gdb, 然后再次次跑程序,让他再次段错误,然后括号内会提醒core dump。 输入命令...原创 2020-01-07 16:03:06 · 556 阅读 · 0 评论 -
如何将window下的文件夹or磁盘挂载到虚拟机ubuntu.
为什么要将window下的文件夹挂载到虚拟机总所周知如果操作不当,你的虚拟机会死掉会崩掉,如果你的虚拟机有重要的开发的东西例如代码,开发文档什么的肯定很奔溃,那么东西存在真实的机器而不是虚拟机就非常重要啦。所以放在window然后挂载到ubuntu是一个方法。步骤:当然你们知道mount命令就是用来的挂载的,不同机器不同操作系统也可以,linux也有nfs服务器的包,但是今天这里用不到...原创 2020-01-05 14:49:29 · 2051 阅读 · 2 评论 -
实现strcat函数,assert宏(断言宏)使用介绍
strcat函数的实现代码如下:char* MyStrcat(char *dst, const char *src){ assert(dst != NULL && src != NULL); char *temp = dst; while (*temp != '\0') temp++; while ((*temp++ = *...原创 2019-12-28 17:52:39 · 292 阅读 · 0 评论 -
利用多种方法(联合体union,指针,强制转换)测试机器大小端
联合体Union的特点所有变量共用一段存储空间,以最大的成员变量确定存储空间 联合体的成员不管是在哪个架构上默认都是从低地址开始存储的以下3种方式我都用main函数来写,其实几种方式可以封装成一个返回值为bool的函数,以便利用。法2,采用赋值的方式#include<stdio.h>union test{ int a; char b;...原创 2019-12-26 15:55:46 · 863 阅读 · 0 评论 -
一些linux下奇淫技巧or小技巧or小知识汇总(不断更新)
1. linux如何在终端打开一个pdf文件(即调动document viewer打开)xdg-open xxx.pdfxxx.pdf为你所想打开的pdf文档。2.linux如何的ulimit命令(如何查看linux下的进程能够打开多少个文件)我一篇简单的文章也有涉及到这个命令:https://blog.csdn.net/weixin_39315352/article/detai...原创 2019-12-21 11:43:25 · 441 阅读 · 1 评论 -
去掉重复的字符,比如 google,输出:gole(华为笔试题)
这里会不定期更新新的算法,若有新的算法实现便可以更新 以两个空间来存储字符串 #include<stdio.h>void delsame(char *o, char *n){ int i=0,j=0,k=0; int flag; while(o[i]!='\0'){ flag=1; ...原创 2019-12-20 17:42:28 · 848 阅读 · 0 评论 -
strlen()和fgets()搭配使用时的注意要点
没有用到fgets()时:char *a="123456789";printf("%d\n",strlen(a));那么输出9,但不包括结束字符(即 null 字符)用到fgets时char a[100];fgets(a,100,stdin);printf("%ld",strlen(a));当输入:123456789那么输出10,原因在于fgets函数,查看f...原创 2019-12-20 14:45:48 · 645 阅读 · 0 评论 -
全局变量、静态变量赋值为0时存储在bss段的测试
全局变量、静态变量赋值0时,存储在bss段原创 2019-12-17 20:29:14 · 1476 阅读 · 0 评论 -
(offsetof宏、container_of宏)由结构体/类的实例的一个成员的地址,获取该结构体/类的实例的地址
这两个宏的源代码如下,大家用到的使用的一个方法是可以直接复制到自己的代码中使用。#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)#define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->memb...原创 2019-12-15 16:57:11 · 187 阅读 · 1 评论 -
行测类中的推理题目如何用编程解决(C语言实现)
一直以来以为推理题目是行测题,用草稿画画推理就可以做出答案,第一次留意到这种问题还是挺懵的,要用编程语言来解决推理题目。原创 2019-12-13 19:28:53 · 513 阅读 · 1 评论 -
判断素数(质数)的方法
简化方法,m 不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~之间的每一个整数去除就可以了。如果 m 不能被 2 ~间任一整数整除,m 必定是素数。原创 2019-12-08 16:15:53 · 673 阅读 · 0 评论 -
两个数字交换不用第三个值(法1:用加法运算,法2:用异或运算)
两个数字交换不用第三个值temp法1:用加法运算法2:用与或运算原创 2019-12-07 12:14:20 · 566 阅读 · 0 评论 -
辗转相除法求最大公约数和最小公倍数(C语言)
1.辗转相除法原理(求最小公倍数)2.最小公倍数和最大公约数的关系3.C语言实现原创 2019-12-07 10:38:11 · 4630 阅读 · 0 评论