C语言
文章平均质量分 66
JoYER_cc
相信梦想,相信技术。
展开
-
C语言高级-C内核
C有操作系统静态内存分配,动态内存分配使用API,例如mallocfree接口。对于单片机而言,C语言程序内存是用来存储可变数据(变量)的,常量存储在flash当中。本博客参考《嵌入式Linux与物联网软件开发C语言内核深度解析》C++new对象分配内存,delete删除对象。C无操作系统通过编译器提供的变量名来管理内存。Java/C#虚拟机。........................原创 2022-07-15 17:05:11 · 712 阅读 · 0 评论 -
C语言链表
1.定义结构体,作为结点使用struct Grade_Info { int score; struct Grade_Info *next; };typedef struct Grade_Info NODE;2.创建链表 NODE *Greate_LinkList()1.新建头结点,尾结点 head=(NODE *)malloc(sizeof(NODE)); if(head==NULL) //创建失败 {原创 2022-05-09 14:02:21 · 428 阅读 · 0 评论 -
C语言简单算法
//不使用第三个变量,交换两个数的值#include <stdio.h>#include <stdlib.h>int main(void){ //求和法 int a=10, b=9; printf("a=%d,b=%d\n", a, b); a = a + b; b = a - b; a = a - b; printf("a=%d,b=%d\n", a, b); //求差法 int c, d; c = 10; d = 12; printf("c=%.原创 2022-05-04 16:36:04 · 891 阅读 · 0 评论 -
C转C++
关于内存分配L.elem = new Book[MAXSIZE]; //C++L.elem = (Book*)malloc(MAXSIZE * sizeof(Book)); //Ccout << "1.初始化\n"; //C++printf("1.初始化\n"); //Ccin >> choose;scanf("%d",&choose);fstream file;file.open("SqStack.txt");if原创 2022-03-26 18:28:40 · 870 阅读 · 0 评论 -
Linux驱动-第一个驱动hello world
第一个驱动hello world配置vscode的内核头文件路径hello.c#include <linux/init.h>#include <linux/module.h>static int hello_init(void){ printk("hello world\n"); return 0;}static void hello_exit(void){ printk("bye bye\n");}module_init(原创 2022-03-25 15:07:19 · 1556 阅读 · 0 评论 -
Linux命令
#Linux Cheatsheet#Files and navigating#Networking#Processes#System Info#Compressing#Permissions#Others#Files and Navigating#Directory listeningls#Formatted listeningls -l#Formatted listening including hidden filesls -la#Change directorycd.原创 2022-03-24 22:24:18 · 1500 阅读 · 0 评论 -
Linux系统编程-进程间通信
进程间通信无名管道1. 只能用于有关联的进程间数据交互,如父子进程,兄弟进程,子孙进程,在目录中看不到文件节点,读写文件描述符存在一个 int 型数组中。 2. 只能单向传输数据,即管道创建好后,一个进程只能进行读操作,另一个进程只能进行写操作,读出来字节顺序和写入的顺序一样。调用 pipe()创建无名管道; fork()创建子进程,一个进程读,使用 read(),一个进程写,使用 write()。pipe():创建无名管道:#include <unistd.h>in...原创 2022-03-23 16:10:19 · 454 阅读 · 0 评论 -
Linux系统编程
文件IOIO库函数文件读写权限r(读),w(写),x(执行)第一位表示文件类型, 剩下的 9 位划分成 3 位为一组,分别表示文件拥有者的权限,文件拥有者所在用户组的权限,其它用户的权限open()函数定义:#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>int open(const char *pathname, int fla...原创 2022-03-23 14:23:14 · 443 阅读 · 1 评论 -
Linux系统编程-进程
进程创建和结束所有的进程都是由其他进程创建(除了 pid 为 0 号的 idle 进程),pid 号为 1 的 init 进程是系统启动后运行的第一个进程,是所有进程的父进程,init 进程会初始化一部分系统服务,创建其他进程。子进程结束后,它的父进程要回收它的资源,否则就会成为僵尸进程 。如果父进程先结束,子进程会被 init 进程收养,称为孤儿进程。“ps -el”查看进程状态 PID 为进程号,PPID 为此进程的父进程号getpid():获取进程 PID, #in原创 2022-03-22 20:42:30 · 2061 阅读 · 0 评论 -
Linux系统编程-文件IO
文件读写权限r(读),w(写),x(执行)第一位表示文件类型, 剩下的 9 位划分成 3 位为一组,分别表示文件拥有者的权限,文件拥有者所在用户组的权限,其它用户的权限open()函数定义:#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); int ...原创 2022-03-21 21:38:43 · 1291 阅读 · 0 评论 -
makefile基础操作
objects = main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o edit : $(objects) cc -o edit $(objects) main.o : defs.h kbd.o : defs.h command.h command.o : defs.h command.h display.o : defs.h buffer.h insert.o : defs.h buffer.h.原创 2022-03-19 20:35:08 · 1386 阅读 · 0 评论 -
C语言高级特性
函数作为形参,并调用#include <stdio.h>void add(void) { printf("hello\n");}void add_2(void (*ptr)(void)) { ptr();}int main(void) { add_2( add); return 0;}原创 2022-03-19 15:01:05 · 1005 阅读 · 0 评论 -
OLED模块使用
一个字符大小为6*8或8*16的点阵,6行8列,或8行16列,两者的区别是大小的区别I2C.c#include "I2C.h"/* 产生总线起始信号 */void IIC_Start(){ I2C_SDA = 1; //首先确保SDA、SCL都是高电平 I2C_SCL = 1; I2CDelay(); I2C_SDA = 0; //先拉低SDA I2CDelay(); I2C_SCL = 0; //再拉低SCL}/* 产生总线停止信号 *原创 2022-03-10 17:36:47 · 1433 阅读 · 0 评论 -
STM32学习
目录GPIORCC时钟系统定时器中断串口看门狗PWMLCD液晶RTC实时时钟ADCDACTIMDMAI2C-EEPROMSPI-FLASHCANDS18B20DHT11MPU6050SDIOGPIORCC时钟系统定时器中断串口看门狗PWMLCD液晶RTC实时时钟ADCDACTIMDMAI2C-EEPROMSPI-FLASHCANDS18B20DHT11M原创 2022-03-10 09:46:02 · 690 阅读 · 0 评论 -
C语言数据结构
目录绪论线性表栈和队列串、数组和广义表树和二叉树图查找排序绪论数值计算:数学模型->算法数据结构:逻辑结构:集合结构,线性结构,树结构,图结构或网结构 存储结构:顺序存储结构,链式存储结构数据类型:基本数据类型,抽象数据类型 抽象数据类型:ADT 抽象数据类型名{ 数据对象: <数据对象的定义> 数据关系: <数据关系的定义> 基本操作: &...原创 2022-03-08 13:57:12 · 1564 阅读 · 1 评论 -
51单片机学习
单片机三大资源:FLASH <程序存储空间 ROM>RAM <内存>原创 2022-02-26 17:00:41 · 2157 阅读 · 0 评论 -
C语言基础
C语言基础语法和操作原创 2022-02-08 21:03:29 · 823 阅读 · 0 评论 -
C语言学习
从今天开始本人要开始复习C语言这门神奇的计算机语言,他的重要性对于本人而言可谓无与伦比,因此灰常有必要好好学习。本文计划从基础的C语言数据类型,运算符,流程控制等语句和方法,探讨C语言对软件构建的方法,对系统构建的方法,以及从单片机的角度对C进行讲解。这个项目估计要持续很长一段时间了。...原创 2022-02-08 20:57:30 · 364 阅读 · 0 评论