自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 嵌入式:信号和IPC通信(共享内存)

2025-01-01 21:54:42 513

原创 嵌入式:进程间通信:管道通信

2024-12-30 21:52:33 301

原创 嵌入式学习:线程

2024-12-27 22:47:44 419

原创 嵌入式:进程1

2024-12-25 23:11:53 437

原创 嵌入式:文件操作

2024-12-20 22:05:38 132

原创 嵌入式:队列和树型结构

2024-12-17 21:21:50 342

原创 嵌入式:内核链表和栈

2024-12-16 20:47:54 496

原创 嵌入式:双向链表

2024-12-14 22:45:10 260

原创 嵌入式:数据结构、单向链表基本操作

2024-12-14 17:21:52 464

原创 C语言:位运算

2024-12-09 19:36:09 367

原创 C语言:结构体、共用体、枚举、typedef关键字

2024-12-07 20:30:22 261

原创 C语言:指针操作函数,回调函数,动态内存分配、结构体

2024-12-06 22:29:38 464

原创 C语言:指针

2024-12-05 22:05:05 210

原创 C语言:指针的运算、指针操作一维整型数组

2024-12-04 20:44:12 310

原创 C语言:预处理中的宏定义、内容包含、条件编译、指针的定义

2024-12-03 20:15:41 518

原创 C语言:函数的递归调用,标识符的作用域和可见性、预处理命令

2024-12-02 22:12:26 420

原创 C语言:函数总结

2024-12-01 13:56:47 147

原创 C语言:字符型二维数组、函数

2024-11-29 20:11:00 149

原创 C语言:二维数组和一维字符型数组

2024-11-28 20:42:32 116

原创 C语言:一维数组

2024-11-27 21:17:42 116

原创 c语言:循环控制

2024-11-26 20:21:33 139

原创 C语言:scanf,关系运算符,逻辑运算符,if语句

2024-11-25 21:15:20 156

原创 C语言的运算符和表达式、输入和输出

/有符号短类型 =>长类型 --- 符号位扩展 (short为正 => 高位补0;格式化字符(占位符) %d //按照指定的格式,替换为后面对应的参数值。scanf() / printf() //格式化的输入输出函数。//无符号短类型 =>长类型 --- 高位补零。运算结果 ---- 最后一个表达式计算的结果充当逗号表达式的结果;gets() / puts() //字符串的输入输出。(类型)运算数 //将运算数 强制转换为 指定的类型。%#o //将 0 输出。

2024-11-23 20:07:51 738

原创 C语言基本数据类型

语法:数据类型 变量名;int //整型 4个字节long //长整型 8个字节short //短整型 2个字节long long 8个字节1.数字,字母,下划线组成 ,不能是数字开头2字母区分大小写3.不能与关键字重名4.不建议和 二级关键字重名(include define)赋值和初始化的区别:int a = 10;//初始化int a;

2024-11-22 18:34:57 1077

原创 Linux系统的基础指令

cp 123.txt 456.txt //把当前目录下的123.txt 复制为当前目录下的456.txt。cp 123.txt dir_1 //把123.txt 复制一份到 dir_1 这个目录中。mkdir -p a/b/c //表示当前目录下创建一个三级的目录 a/b/c。(5)sudo //super do //相当于临时切换身份。mv 123.txt 456.txt //改名字 ---重命名。ls / //查看根目录下的内容。//命令终端 ---命令。

2024-11-21 15:46:27 349

原创 Linux系统编程:shell脚本

Shell是Linux系统的,它提供用户与内核的一种交互方式。它接收用户输入的命令,并把它送入内核去执行,是一个命令解释器;

2024-11-18 18:22:59 1530

原创 C语言:链表、共同体、枚举、typedef、位运算

左移一位,再判断是否为0;种数据类型,但有效的为最后放进去的。由于共用体的所有成员都共享相同的内存位置,所有成员。当该数有符号时,正数补0,负数补1(算术右移),无符号时,前面补0(逻辑右移);此时 Noda为结构体的变量名;*pNoda为结构体的指针类型的变量名;枚举是C语言中的一种基本数据类型,它可以让数据更简洁,更易读。本质为int ,这些常量通常从0开始自动赋值,排列和数组类似;此时,Noda为结构体类型名;类型必须为整型或者与整型相兼容的类型;//注意,末尾有分号;a为长度为10的整型一维数组;

2024-11-16 14:44:27 331

原创 C语言:结构体

struct 结构体名类型名 成员名;

2024-11-14 20:40:12 291

原创 C语言:指针3

p=&a[0]或者p=a---------------------此时p指向的是二维数组a的首元素地址,也是第一行;p+1-----------------------------此时p+1表示指针指向了二维数组a的第二行;当一个指针数组作为函数参数传递时,对应的形参为(指向指针地址的指针)指针的指针:**p。减到a[ 1 ][ 4 ];最终输出打印结果为a[ 1 ][ 4 ]的值,为8;*(*(a+1)+1)为a[1][1]的值;*(a+1)+1指向a[1][1]的地址;函数的函数名即为函数的入口地址;

2024-11-13 15:51:58 1828

原创 C语言:指针2

两个指针做差可以算出相差几个基类型;

2024-11-12 09:46:21 1014

原创 C语言 :指针1

指针定义的一般形式:基类型 *指针变量名;指针变量只能装对应基类型的类型,例如:int *p 只能装int型;* 是指针运算符,自右向左运算;在int *p中*是类型说明符。int i;i=10;p=&i;//指向i*p=100;//*p就是i本身此时,i的值变成100。通过指针的访问叫作间接访问,指针常用作主调被调函数之间的参数传递,通过指针传参可以在被调函数中修改主调函数中的参数。被调函数中用 *变量名赋值;主调函数中用 &变量名赋值;

2024-11-11 09:01:35 210

原创 C语言标识符的作用域和可见性

带参数和不带参数的宏:本质上是在预处理阶段将所以的宏名变成宏的具体内容;宏名要用大写字母;(1)不带参数的宏定义;只有宏名没有参数;格式 :#define 宏名 字符串如#define PI 3.14 (宏定义后面不能加分号)(2)带参数的宏定义;带参数的宏定义不是进行简单的字符串替换,还要进行参数替换格式: #define 宏名(参数表) 字符串如 #define S(a,b) ((a)+(b))带参宏每个参数都要加括号(),每一个表达式也要加括号();

2024-11-07 17:25:34 564

原创 数组作为函数参数

二维数组作为函数参数传递时,无法在函数内部用sizeof(a)/sizeof(a[0])算出有几行。在被调函数中,sizeof(a)= 8,这是因为sizeof打出的是数组a的首元素的地址长度;在编写函数时需要将数组作为函数参数传递,需要传递两个参数:(1)传递数组名、(2)数组元。传递数组名本质上是指针,只传递了首元素地址,无法判断元素的个数,因此传参时还要传递第二。,而数组元素可以是表达式的组成部分,因此数组元素可以作为函数的实。数组作为函数参数传递,可以在被调函数中修改主调函数的变量参数。

2024-11-07 08:39:47 386

原创 函数的嵌套、递归调用

在调用f1函数的过程中要调用f2函数,而在调用f2 函数的过程中又要调用f1函数,这种就成为间接。1.值传递:函数的形参相当于实参的复制品,形参和实参拥有不同的内存空间,在函数内部对形参。栈区遵循先进后出的原则,主要由于存储局部变量和函数用的上下文信息,当一个函数被调用时,当一个函数被调用时,需要保存当前函数的执行状态,包括参数传递、返回地址、局部变量等,是互相平行的、独立的,也就是说,在定义函数时,一个函数内不能包含另一个。执行b函数,如果再无其他嵌套的函数,则完成b函数的全部操作;

2024-11-06 09:07:54 616

原创 C语言:二维数组、函数

二维数组定义的一般形式为:类型说明符数组名[常量表达式][常量表达式];例如:int a[3][4];a是3行4列的数组,a[0]是首元素地址,a也是首元素地址;这个二维数组可以理解为a[0],a[1],a[2]相当于是一个一维数组的数组名,每一个都有一个有4个元素的一维数组a[0][0]表示数组a[0]中的第一个元素。数组名不能整体赋值,如a[0] = a[1];a[3][4]的初始化:或者a[3][4] ={1,2,3,4,5,6,7,8,9,10,11,12};

2024-11-05 10:37:34 595

原创 C语言字符数组

字符数组就是用来存放字符数据的数组,相当于是存放字符串的容器,,这个容量要大于要存放的字符串,字符数组中的一个元素存放一个字符。例如:定义,赋值char a[10];c[0] = '1';char c[ ];初始化由此可以看出在初始化或赋值字符数组时花括号和逗号可以被双引号代替。

2024-11-02 18:52:30 1733

原创 一维数组的定义与引用

计算数组中的个数可用:int len = sizeof(a) / sizeof(a[0]);一维数组的定义方式为:类型说明符 数组名 [常量表达式],如:int a[10];数组的数组名代表数组首元素地址,数组不能整体赋值,数组本质上是一种数据结构;访问数组外的内存叫越界访问,可能造成其他数据被改写;数组存放三大特点:有单一性,有序性,连续性;数组如果不进行初始化,则其内的元素都是随机数。当数组元素个数为变量时,不允许初始化;如果至少初始化一个元素,其他的都为0。

2024-11-01 09:32:55 312

原创 c语言的循环控制

do......while语句会先执行一次,再判断是否符合条件,一般可用来检查程序或硬件的可用性;特点:先判断表达式,后执行语句;while语句的末尾不加分号,有可能一次也不执行;语句标号就是标识符,一般给一个想要跳转到的语句命名,命名规则与标识符一样;(3)使循环趋于结束的语句,如++i;---没有则为死循环。goto语句为无条件跳转语句,一般形式为:goto语句标号;注:while()与循环体之间紧密相连,不能有空行。(2)循环的执行条件,如if(i

2024-10-31 09:09:03 231

原创 C语言选择结构程序设计

"&&"和"| |"是双目运算符,要求有两个运算量,如:(a > b) && (a > c), (a > b) || (a > c);,else单独出现时编译报错,else根据实际情况可以省略,一般在写关系表达式时,"| |"的左边的表达式如果为真,则直接结束,表达式截断,不运行右边的表达式;"&&"的左边的表达式如果为假,则直接结束,表达式截断,不运行右边的表达式;"是单目运算符,只要求有一个变量,如:!逻辑表达式的值应该是'真’或'假'即‘1’或‘0’;(3)if(表达式1)语句1。

2024-10-29 18:17:17 333

原创 C语言数据的输入输出

其中int表示该函数的返回值,是scanf成功输入的个数,scanf是该函数的函数名,const char *format是该函数的格式控制,逗号之后的是该函数的输入列表,也是该函数的形参;其中int表示该函数的返回值,printf是该函数的函数名,const char *format是该函数的格式控制,逗号之后的是该函数的输出列表,也是该函数的形参;%d 可写为%+5d,表示在左边空5位,%-5d 表示在右边空5位,该位数会将数据本身的长度算在内,如:_ _1 0 0,1 0 0_ _;

2024-10-28 21:43:47 339 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除