Linux/C
学无止境
Young__Fan
学习,记录,分享,持之以恒
展开
-
C语言无符号与有符号之间的比较
#include <stdio.h>int main(void) { unsigned int a = 2; int b = -3; int c = (a > b)? 11:22; printf("%d\n", c); return 0;}运行结果:22当表达式中同时存在有符号类型和无符号类型时,所有的操作数都自动转换为无符号类型。因此,从这个意义上讲,无符号数的运算优先级要高于有符号数,这一点对于频繁用到无符号数据类型的嵌入式系统来说是丰常重要的原创 2021-07-27 15:03:19 · 3445 阅读 · 1 评论 -
C语言中结构体数据在数据传输中的应用
在嵌入式开发过程中,各进程/线程间需要传递数据,结构体数据的传输使用非常广泛。#include <stdio.h>typedef struct{ int x; char p; char s1; char s2; char res3;}dex;int main (){ char a[10]; //数组的好处:自动初始化地址 dex tmp; //创建一个结构体变量,为后面的结构体指针提供结构体指针地址 .原创 2021-03-16 20:30:09 · 1170 阅读 · 0 评论 -
C语言求解三个数的中间值
第一种:#define MID(a, b ,c) a > b ? (b > c ? b : ( a > c ? c : a)) : ( a > c ? a: (b > c ? c : b))第二种:#define MAX(a, b) (((a) > (b) ) ? (a) : (b))#define MIN(a, b) (((a) < (b) ) ? (a) : (b))#define MID(a, b, c) ...原创 2020-10-29 10:00:26 · 6043 阅读 · 0 评论 -
C语言联合(union)在硬件中的应用
以单片机为例子,介绍联合体在单片机中的应用,注意但单片机中的int为两个字节(16bit),char为1个字节(8bit)。C语言之联合(union)的妙用:https://blog.csdn.net/debugzzj/article/details/81705755?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.edu_weight&depth_1-utm_source=转载 2020-10-27 20:39:29 · 285 阅读 · 0 评论 -
Makefile 宏定义 -D
一、GCC编译器中使用:-D macro=string,等价于在头文件中定义:#definemacrostring。 例如:-D TRUE=true,等价于:#defineTRUEtrue-D macro,等价于在头文件中定义:#definemacro1,实际上也达到了定义:#definemacro的目的。 例如:-DLinux,等价于:#defineLINUX1(与#defineLINUX...转载 2020-10-16 14:03:52 · 2631 阅读 · 0 评论 -
Linux信号量sem_t的使用
https://blog.csdn.net/Dancer__Sky/article/details/71101808?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.chann转载 2020-08-27 19:28:07 · 775 阅读 · 0 评论 -
C语言之memset()函数
void *memset(void *str, int c, size_t n)参数str-- 指向要填充的内存块。 c-- 要被设置的值。该值以 int 形式传递,但是函数在填充内存块时是使用该值的无符号字符形式。 n-- 要被设置为该值的字节数。1.memset() 函数常用于内存空间初始化。如,对一个字符数组进行初始化:#include <stdio.h>#include <string.h>int main(){ char a[5]...原创 2020-08-19 12:46:01 · 2119 阅读 · 0 评论