![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式C语言基础
文章平均质量分 77
肖爱Kun
分享日常学习
展开
-
C语言sscanf,strstr和strtok函数用于字符提取分割
sscanf函数,strstr函数和strtok函数用法解析原创 2024-01-15 14:48:52 · 617 阅读 · 0 评论 -
C语言中的指针变量p,特殊表达式p[0] ,(*p)[0],(px+3)[2] ,(*px)[3]化简方法
一些指针特殊表达式化简方法原创 2024-01-10 14:11:42 · 446 阅读 · 0 评论 -
第一篇,嵌入式ubantu系统安装及常见ubantu命令,C语言数据类型和变量的定义
嵌入式ubantu系统安装及常见ubantu命令,C语言数据类型和变量的定义原创 2021-12-31 12:49:20 · 1517 阅读 · 0 评论 -
第三十六篇,C++基础,关于C++的输入和输出,函数重载,命名空间使用,C++中的动态内存分配(堆空间),C++中的引用的基础概念详解。
岗位需求和学习目标============================================ 1.岗位需求 嵌入式应用/软件开发工程师 --》C/C++ 游戏后台服务器开发(脱离了嵌入式) 音视频开发(小众岗位),机器视觉 2.学习目标 熟练掌握C++常用的基本语法,利用C++编写一些简单的面向对象的程序C++和C语言的联系和区别=========================================...原创 2022-04-27 23:39:21 · 273 阅读 · 0 评论 -
用程序验证信号集相同信号共存,信号继承,嵌套的特点以及客户端和服务器通讯程序解析
1。是否有相同的信号#include <stdio.h>#include <signal.h>int main(int argc,char *argv[]){ //1. 定义信号集 sigset_t set; //2. 将所有的信号都添加到信号集中 sigfillset(&set); //3. 判断一下在不在集合中 int ret; ret = sigismember(&set,S...原创 2022-03-31 10:51:14 · 1464 阅读 · 0 评论 -
用程序验证信号集的相同信号,信号继承,嵌套特点。
请写出程序验证以下结论:一、使用信号集的函数接口,来验证以下的结论:1、验证在进程的挂起队列上,没有相同的信号。2、验证阻塞属性会被子进程继承。3、验证挂起队列上的信号不会继承。4、验证进程在响应信号时,是相互嵌套的。二、使用消息队列,完成以下的要求:写一个服务器程序,再写一个客户端程序,要求如下:1)服务器与客户端可以互相收发。2)服务器发送了quit给客户端,那么服务器与客户端都会退出。3)客户端发送了quit给服务器,那么客户端与服务器都要退出。...原创 2022-03-31 10:39:45 · 435 阅读 · 0 评论 -
标准文件描述符和一些指定标准输出对象的函数fprintf(),getchar() 的用法区别。
Linux中头文件路径:/usr/include/unistd.h//标准文件描述符/* Standard file descriptors. */#define STDIN_FILENO 0 //标准输入文件描述符#define STDOUT_FILENO 1 //标准输出文件描述符#define STDERR_FILENO 2 //标准出错文件描述符头文件路径:/usr/include/stdio.htypedef关键字给数据类...原创 2022-03-31 09:04:59 · 395 阅读 · 0 评论 -
第三十篇,进程之间的通讯方式——内存共享,内存互斥关系——信号量,Linux下的最小资源单位——线程的详细讲解
一、进程之间的通信方式 --- 共享内存。1、共享内存也是属于IPC对象,所以在使用共享内存之前一定要申请key值与ID号。2、共享内存作用机制以及使用范围。作用范围:由于共享内存是IPC对象,属于系统的资源,所以在整个系统中都可以看到IPC对象,其作用范围就是linux下任意的两个进程。机制:任意一个进程可以将数据发送到共享内存上,另外的进程就可以访问内存上的数据。3、实现共享内存的步骤:1)先申请key值 key = ftok(".",10);2)根据申请到的key值去申请...原创 2022-03-31 04:15:00 · 861 阅读 · 0 评论 -
利用消息队列实现两个进程之间的通信
要求使用消息队列,实现两个进程之间的通信。写端程序分析:#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#include <stdio.h>#include <strings.h>#include <string.h>#include <stdlib.h>//写入数据的及结构体struct msgbuf{ long...原创 2022-03-30 23:25:04 · 2257 阅读 · 0 评论 -
第二十九篇,signal()函数的具体用法,以及对信号集的操作,sigempty(),sigfillset(),sigaddset()等函数的用法,Linux的IPC对象,进程间消息队列通信的详细说明
一、研究signal函数的第二个参数。现实例子:假设将来收到"请我吃饭"这个信号,我就说好,一起去绿地。 --> 默认动作假设将来收到"请我吃饭"这个信号,我就打印helloworld。 --> 自定义动作假设将来收到"请我吃饭"这个信号,我理都不理你。 --> 信号忽略1、自定义动作。 (收到信号之后,想做什么事情,由你自己决定) the address of a programmer-defined function (a "signa...原创 2022-03-30 16:12:44 · 2956 阅读 · 0 评论 -
服务器和客户机实现通讯
用命名管道分别写一个服务器程序和客户机程序,客户机的的父进程负责每隔一秒产成一个子进程,(形成一个进程扇),而每个子进程则往自己的FIFO中写入自己的PID号码,服务器负责从FIFO中读取数据并打印在屏幕上。要求:用open函数处理重复创建问题使用access函数处理重复创建问题//客户机实例程序#include <stdio.h>#include <signal.h>#include <unistd.h>#include <stdlib.原创 2022-03-30 12:51:20 · 233 阅读 · 0 评论 -
sprintf和printf 用法的区别
printf()的作用是标准化输出,默认的对象是标准输出缓冲区,要有一定的条件才能把缓冲区里面的数据输出sprintf() 作用是格式化输出函数,保存字符串到缓冲区中,起到拼接字符串的作用功能: 函数sprintf()用来作格式化的输出。用法: #include <stdio.h> int sprintf(char *str, const char *format, ...);参数: str: 数据缓冲区...原创 2022-03-30 16:03:49 · 5532 阅读 · 0 评论 -
C语言中常见的两个比较字符串是否相等的函数strcmp和strncmp
函数:strcmp和strncmpstrcmp使用格式: #include <string.h> int strcmp(const char *s1, const char *s2); 设这两个字符串为str1,str2,若str1==str2,则返回零;若str1 > str2,则返回正数;若str1< str2,则返回负数。即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇...原创 2022-03-30 09:38:23 · 16054 阅读 · 0 评论 -
第十一篇(C语言终篇)typedefy关键字,自定义头文件,GCC编译过程中文件转化,宏定义和条件编译详解。
一、typedef关键词。1、什么是typedef,它是干嘛用的?typedef其实就是type + define,作用就是给一种数据类型(基本数据类型/非基本数据类型)取一个别名。例如:给int这种类型取一个新的别名叫aaa --> 很少给基本数据类型取新的名字 0.00001%给struct person这种类型取一个新的别名person --> 大部分时候都是给复杂类型取别名 --> 好处: 定义变量与普通变量一样 99.999%...原创 2022-02-23 10:35:11 · 1820 阅读 · 0 评论 -
第十篇,数组初始化和堆空间申请释放,以及结构体,联合体的定义,计算内存大小以及枚举类型的详细说明。
数组初始化和堆空间申请释放,以及结构体,联合体的定义,计算内存大小以及枚举类型的详细说明。原创 2022-02-22 15:53:40 · 934 阅读 · 0 评论 -
第九篇,const指针,strlen,strcpy和strcmp函数的详细讲
const指针,strlen,strcpy和strcmp函数的详细讲原创 2022-02-22 10:51:29 · 540 阅读 · 0 评论 -
第八篇,字符数组和字符指针详细讲解。
字符数组和字符指针原创 2022-02-22 10:45:11 · 2560 阅读 · 0 评论 -
第 七篇,二维指针和二维数组知识讲解。
二维指针和数组详细讲解原创 2022-02-22 10:38:02 · 1967 阅读 · 0 评论 -
第六篇,C语言指针经典练习(共两篇)
C语言经典职场笔试题原创 2022-02-22 10:29:24 · 4197 阅读 · 0 评论 -
第五篇,c语言中的数组和指针定义及其特别重要的运算关系。
一、数组的概念。1、什么是数组?数组的出现是为了解决什么问题?数组其实就是一个集合,这个集合每一个元素都是由相同类型的变量组成的。数组的出现就是为了解决在程序中定义多个相同类型的变量写代码时的麻烦。数组中的数据类型的变量数据类型 --> 可以是基本数据类型,也可以是非基本数据类型。2、在程序中如何定义数组?定义数组,必须要交代好两件事情。1)数组中每一个元素数据类型是什么?2)数组中元素的个数一共有多少个?定义数组公式:每一个元素数据类型 数组名[元素的个数]分析:每原创 2022-02-22 10:14:36 · 986 阅读 · 0 评论 -
第四篇,C语言中的递归函数,回调函数和内联函数详细说明。
C语言基础原创 2022-02-22 10:07:37 · 784 阅读 · 0 评论 -
第三篇,嵌入式中控制流语句(接上一篇)和函数详细说明。
一、控制流。 -- switch语句1、为什么会有switch语句?就是因为if/else语句,如果出现分支多的情况,那么就会造成代码很累赘。2、基本框架?aaaa;switch(判断的值) --> 整型、字符型、枚举类型 --> 不可以填字符串、浮点型、数组、指针。{ case 结果1: //如果判断的值等于结果1,则执行bbbb。 bbbb; break; //break在switch语句中作用:结束分支。 ...原创 2022-02-22 09:59:11 · 316 阅读 · 0 评论 -
(接上一篇)嵌入式c语言中关于几种控制流语句的分析和详细说明。
八、控制流。 -- while循环1、在C语言中,控制流有两种,一种是分支,一种是循环。分支: if-else switch循环: for while do-while2、while循环。1)基本框架。while(判定条件){ //循环体 --> 写你需要循环的内容 表达式;}2)处理流程。先判断判定条件 --> 真 --> 执行循环体中所有的表达式 --> 判断判定条件 --> 假 --> 跳出循...原创 2022-01-02 12:39:29 · 562 阅读 · 0 评论 -
(接上一篇)嵌入式C语言中关于运算符,ASCII码,标准C库中的IO函数,逗号运算符,三目运算符的定义和详细说明。
嵌入式C语言中关于运算符,ASCII码,标准C库中的IO函数,逗号运算符,三目运算符的定义和详细说明。原创 2022-01-02 12:33:48 · 738 阅读 · 0 评论 -
第二篇C语言中,变量的生命周期与作用域,全局变量与局部变量的定义与详细说明。
C语言中,变量的生命周期与作用域,全局变量与局部变量的定义与详细说明。原创 2022-01-02 12:25:19 · 1551 阅读 · 0 评论