
C语言
木泽八
日拱一卒
展开
-
C语言运算符优先级表
同一优先级的运算符,运算次序由结合方向所决定。(表达式)/函数名(形参表)++变量名/变量名++--变量名/变量名--sizeof(表达式)整型表达式%整型表达式。数组名[常量表达式]表达式2: 表达式3。原创 2024-12-03 10:57:03 · 884 阅读 · 0 评论 -
ELF文件解析和加载(附代码)
目录:1. elf文件基本概念2. elf文件结构3. elf文件装载4. 代码实现1.elf文件基本概念elf文件是一种目标文件格式,用于定义不同类型目标文件以什么样的格式,都放了些什么东西。主要 用于linux平台。windows下是PE/COFF格式。 可执行文件、可重定位文件(.o)、共享目标文件(.so)、核心转储文件都是以elf文件格式存...原创 2018-03-20 16:52:53 · 50817 阅读 · 32 评论 -
反转单链表(C语言)
描述给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。数据范围:0\leq n\leq10000≤n≤1000要求:空间复杂度O(1)O(1),时间复杂度O(n)O(n)。如当输入表{1,2,3}时,经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。以上转换过程如下图所示:/** * struct ListNode { * int val; * stru...原创 2022-04-04 19:59:10 · 1737 阅读 · 0 评论 -
二分查找
请实现无重复数字的升序数组的二分查找给定一个 元素升序的、无重复数字的整型数组 nums和一个目标值 target,写一个函数搜索 nums中的 target,如果目标值存在返回下标(下标从 0 开始),否则返回 -1数据范围:0 \le len(nums) \le 2\times10^50≤len(nums)≤2×105,数组中任意值满足|val| \le 10^9∣val∣≤109进阶:时间复杂度O(\log n)O(logn),空间复杂度O(1)O(1)注...原创 2022-04-04 19:14:09 · 1499 阅读 · 1 评论 -
进度条实现 C语言
#include <stdio.h>#include <unistd.h>#include <string.h>void main(){int i=0;char proc[101];memset(proc, 0, 101); while(i<=100){ printf("[%-100s] %d%% \r", proc, i); proc[i] = '#' ; ff...原创 2022-03-11 13:24:03 · 3106 阅读 · 2 评论 -
vs2013 生成dll /lib,和调用dll库方法
修改配置属性--常规---配置类型 为.dll确保连接器---常规---输出文件为.dll重新生成解决方案,会在debug下生成dll和lib创建def文件,让别的项目可以调用我们的dll的函数。def文件写法,需要export出来让别人调用的接口下载EXPORT下,后面@为序号-----------------------------------------------------------------分割 下面是调用方法--------------------.原创 2021-01-29 18:48:32 · 472 阅读 · 0 评论 -
timeval 转换为年月日
#include <stdio.h>#include <stdlib.h>#include <sys/time.h>#include <time.h>char time_string[40];char *getLocalTime(char *timeStr, int len, struct timeval tv ){struct tm *ptm;// char time_string[40]; long millisecon...原创 2021-01-21 17:19:43 · 2379 阅读 · 0 评论 -
vxworks的cache一致性问题分析
dosFs文件系统 初始化dosfs文件系统库 在用户执行任何文件操作之前,必须先初始化dosFs文件系统库。当在道6下包含了文件系统的组件后,这个初始化的过程就是自动执行的了。文件系统初始化库函数一般在prjConfig.c文件中,调用过程为:usrIosExtraInit--->usrDosfsInit()---->dosFsInit()----->dosFsLibIn...原创 2020-02-19 17:16:17 · 1974 阅读 · 0 评论 -
IP地址转换整型(算法练习)
// ipTrans.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>typedef union{ unsigned char data[4]; unsigned int ip;}IP;unsigned int TransIP(char *pstrIp){ IP ipstr = {0...原创 2019-06-17 17:43:08 · 1333 阅读 · 1 评论 -
栈操作-链表实现(C语言)
栈是一种先进后出(FILO)的数据结构。举例:我们打开一些网页,然后又关闭了几个,而当我们想要恢复之前看过的网页时,会点击恢复网页按钮,那么最先被我们关闭的网页,最后被恢复出来。栈有两种实现方式,一种是数组实现,a[top],top指向栈顶,栈空时top为-1,每次加入元素时,top值加1,并赋值a[top]。实现简单,这里就不详细叙述了。//入栈int push(int* a, in...原创 2019-02-26 16:07:46 · 1828 阅读 · 1 评论 -
队列操作(C语言,含代码)
队列是一种先进先出的数据结构,在写队列的代码时,建议先对链表的操作有所掌握。在这里实现一种链表式的队列。// queue2.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "stdlib.h"#include "stdio.h"typedef struct QNode{ int data; QNode *next;}Q...原创 2019-02-25 17:51:53 · 659 阅读 · 0 评论 -
fwrite()读取长度错误
最近在写elf格式文件的解析和装载过程,打开elf文件使用的是file_elf = fopen(path,"r");在将PT_LOAD类型的segment加载到内存时老师不能够读取到我指定长度的空间,即fread((char *)ProHead->p_vaddr, 1 , ProHead->p_filesz,file_elf )的时候,返回的读取到的长度并不是ProHead->p...原创 2018-02-09 09:20:54 · 793 阅读 · 0 评论 -
数字前后加上符号“*”----c代码
今天看到一道华为的题,描述如下以下是c代码,在vs2003上调试成功,参考了网上大神的例子,没有用链表没有用c++,这道题本来是要求使用c++完成的,我一做嵌入式的码农,对C语言情有独钟,因此在这里使用c语言。注:所有的变量最好是在函数前面进行定义,否则会出现C2143的错误, error C2143: 语法错误 : 缺少“;”(在“类型”的前面),这个我在另一篇博客也有说过。原创 2016-07-30 23:34:13 · 2781 阅读 · 0 评论 -
error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
int main(){char strOld[100];// "fds43d435f";char strNew[150] = {0}; gets(strOld); // 新串长度要足够插入所有*号 InsertAsterisk(strOld ,strNew);puts(strNew); return 0;}原创 2016-07-30 23:30:38 · 1863 阅读 · 0 评论