C语言学习
yzxjd1314
为嵌入式技术发烧而生
展开
-
"12 34 aD 2b"这样格式的字符串转成{0x12,0x34,0xad,0x2b}简单C语言小算法
在进行设备串口数据调试时,总会用到串口调试助手,不同的串口调试助手,发送hex数据帧的格式各不相同,像sscom软件发送hex格式报文时,用的是如下格式"FE 01 02 02 00 01 0C 12 EF":调试通过的数据帧,直接复制到c代码中,特么的还得手动加0x,换成16进制的,这就很烦了,有没有一个小算法吧这个字符串直接转成0xef格式的,在复制到数组中,这样就能提高一点效率了。所...原创 2019-01-18 11:54:53 · 1343 阅读 · 0 评论 -
嵌入式C语言基础试题
#include <stdio.h>//设置a值的bit3位,使其他bit位保持不变#define SETBIT3(a) ((a) |= (1<<3))#define RESETBIT3(a) ((a) &= ~(1<<3))//测试函数声明void test1(void);void test2(void);void test3(v...原创 2019-03-08 13:56:13 · 452 阅读 · 0 评论 -
结构体里的元素前面有一点“.”代表什么意思--结构体成员的初始化
&nbsp;结构体里的元素前面有一点“.”代表什么意思?比如 .goodvar转载自:百度知道&nbsp;在android的bootloader源码目录中,发现这个文件lk/app/aboot/aboot.c里面有一个关于结构体的定义,让我有点不太明白,哪位高手来解惑一下?struct atag_tcc_entry{ch...转载 2019-02-21 11:53:02 · 1753 阅读 · 0 评论 -
系统文件io与C标准库文件io区别
系统调用常用于 I/O 文件操作,系统调用常用的函数有 open、close、read、write、lseek、ulink 等使用时一般需要包含如下头文件:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>ANSI C 文...原创 2019-03-01 16:14:51 · 357 阅读 · 0 评论 -
C语言面试题字符串处理"i am an engineer"转"engineer an am i"
面试时遇到一个C语言的题目,将"i am an engineer"转"engineer an am i",字符串特点是不定长度的字符串由多个子字符串和空格构成,最终将字符串中每个子字符串逆序形成最终字符串。这里用指针方式处理字符串,源码如下:#include <stdio.h>#include <string.h>char nixu_func1(char *...原创 2019-02-14 10:12:54 · 335 阅读 · 0 评论 -
快速排序算法学习记录
//快速排序采用分治思想,好的情况下时间复杂度 O(N*log2n),在数据本来就是有序的时候时间复杂度最差为(n的平方)//步骤/*1,找个基准值,记录从最左端i和最右端j分别向中间遍历,/当在遍历期间遇到了dat[j] < temp 或dat[i] > temp,将dat[i] dat[j]位置进行交换,直到i和j“碰头”2,找到基准值该放的位置,把基准值与最左端位置数...原创 2019-02-28 17:08:00 · 133 阅读 · 0 评论 -
C语言关于sizeof总结
一、sizeof用来计算一个变量,或者数据类型的长度,以字节为单位。它是一个操作符,如同++,--一样,单操作数。比如在我的电脑上,sizeof(int)=4,sizeof(long)=4。还有一般要求的sizeof(char)=1。二、sizeof在数组与指针上的特性C语言中的指针使其具备了强大的功能,同时也造成了许多迷惑。众多迷惑中的一点是sizeof在对待数组与指针上的差别。...原创 2019-02-28 16:49:11 · 412 阅读 · 0 评论 -
嵌入式软件工程师面试题大全
1、int a[10]={1,2,3,4,5,6,7,8,9,0}; int *p=&a[1]; 则p[6]等于82、整数数组清零:bzero(),memset()。3、sizeof();测试变量所占地址的字节数4、 main() { char *str...转载 2019-02-08 23:39:06 · 2117 阅读 · 0 评论 -
bzero和memset函数比较
bzero函数函数原型:void bzero(void *s, int n);头文件:#include <string.h>功能:将字符串s的前n个字节置为0,一般来说n通常取sizeof(s),将整块空间清零。返回值:无返回值例子:将一个数组清零:char str[10];bzero( str,...转载 2019-02-08 23:34:56 · 547 阅读 · 0 评论 -
嵌入式工程师必须知道的变量修饰关键字volatile
volatile定义:volatile是一个类型修饰符(type specifier).volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。volatile作用:经过它修饰的变量能防止编译器对其进行优化,XBYTE[2]=0x55;...原创 2019-03-08 13:43:52 · 459 阅读 · 0 评论