嵌入式C/C++
文章平均质量分 74
Goafan
不负相传,不负盛世,无愧自我,无愧时代。
祝各位:一路顺风,顶峰相见
展开
-
VSCode 、Cmake、C++调试教程
VSCODE调试C++程序教程,Cmake基础原创 2023-12-09 15:32:48 · 935 阅读 · 0 评论 -
点云边缘检测-逆时针排序-毛点去除
背景:进行边缘检测时提取出的点云有很多毛刺点,而且,输出的点云也不是按照顺时针或者逆时针排序。自己写了一个函数,在xy平面,对点云进行逆时针排序,然后去除掉毛刺点。原创 2023-02-05 15:17:21 · 938 阅读 · 0 评论 -
C++08函数模板
函数模板的定义和声明都是在头文件中,普通函数和函数模板的具体化版本是分开的。main.cpp// 使用普通函数// 使用函数模板// 使用函数模板具体化版本return 0;}// 普通函数template // 函数模板cout原创 2022-12-02 18:50:03 · 559 阅读 · 0 评论 -
C++07继承和多态
前言:更多内容请参考《嵌入式C/C++学习路》1.继承class 子类 : 继承方式 父类子类也称派生类,父类也称基类#include<iostream>using namespace std;// 狗class Dog{public: void bark(){ cout << "汪汪!" << endl; } void run(){ cout << "跑起来" ...原创 2022-05-20 20:29:30 · 133 阅读 · 0 评论 -
C++面向对象-练习
实现一个电子时钟类,其构造函数接受当前系统时间,以秒为单位持续运行#include <iostream>#include <unistd.h> // linux下使用sleep函数需要引用这个头文件#include <iomanip> // 流格式控制符---使用setw函数using namespace std;class Clock{public: Clock(time_t now) { tm *local = l.原创 2022-05-16 11:00:27 · 367 阅读 · 0 评论 -
C++06面向对象
1. 什么是面向对象?万物皆对象,这是人类面对世界最朴素,最自然的感觉、想法和观点 把大型软件看成是一个由对象组成的社会 对象拥有足够的智能,能够理解来自其他对象的信息,并以适当的行为作出反应 对象能够从高层对象继承属性和行为,并允许低层对象从自己继承属性和行为等 编写程序的过程就是描述对象属性和行为的过程,凭借这种能力使问题域和解域获得最大程度的统一 面向对象的三大要件:封装、继承和多态原创 2022-05-14 11:47:20 · 257 阅读 · 0 评论 -
C++05引用、显式类型转换
前言:更多内容请看总纲《嵌入式C/C++学习路》1. 引用定义引用即别名int a = 10;int& b = a; // 这里&不是取地址的意思,是引用的意思。 b是一个int型的引用,引用aint& c = b;引用必须初始化int& b; // error!!!int& b = a;const int& b = 10;引用不能为空引用不能更换目标#include <iostream>using n.原创 2022-05-13 16:10:54 · 343 阅读 · 0 评论 -
C++04缺省参数、哑元、内联函数、动态内存分配
前言:更多内容请看总纲《嵌入式C/C++学习路》1. 缺省参数可以为函数的参数指定缺省值,调用该函数时若未指定实参,则与该实参相对应的形参取缺省值函数参数的缺省值只能在函数声明中指定(编译器只看声明,不看定义)如果函数的某一个参数具有缺省值,那么该参数后面的所有参数必须都具有缺省值不要因为使用缺省参数而导致重载歧义#include <iostream>using namespace std;void foo(int a, char b, float c = 4.56f, .原创 2022-05-12 16:51:15 · 319 阅读 · 0 评论 -
C++03重载
重载 overload1. 重载关系同一作用域中,函数名相同,参数表不同的函数只有同一作用域中的同名函数才涉及重载问题,不同作用域中同名函数遵循标识符隐藏原则#include <iostream>using namespace std;void foo(void){ cout << "foo(void)" << endl;}void foo(int a){ cout << "foo(int)" << endl原创 2022-05-11 12:33:35 · 184 阅读 · 0 评论 -
C++02结构、联合、枚举、布尔
前言:更多内容请看总纲《嵌入式C/C++学习路》1.C++的结构声明或定义结构型变量,可以省略struct关键字#include <iostream>using namespace std;struct Student{ char name[256]; int age;};int main(void){ // struct Student s1 = {"张飞", 25}; // C语言里面前面必须加struct ,但是C++可以不加,因为前.原创 2022-05-10 15:09:39 · 193 阅读 · 0 评论 -
C++01输入输出-名字空间
先来一个例子看看!#include <iostream> // 头文件变了int main(void){ // 在std名字空间的标准输出空间插入hello c++ 这个字符串 endl是换行符的意思 std::cout << "Hello C++" << std::endl; // std:: 两个冒号表示std的空间 return 0;}从上面程序可以看到C与C++的区别为:编译器换成了g++,拓展名换成了.cpp头原创 2022-05-09 22:05:05 · 1296 阅读 · 0 评论 -
C指针练习
编写程序把一个数组中的所有内容前后颠倒(要求使用指针完成)#include <stdio.h>int main(){ int arr[] = {1, 2, 3, 4, 5, 6, 7}; // 定义两个指针,分别指向数组的第一个和最后一个元素 int *p_pre = arr, *p_post = arr + 6; printf("*p_pre = %d,*p_post = %d\n", *p_pre, *p_post); while (p_pr.原创 2022-05-08 20:18:05 · 174 阅读 · 0 评论 -
C09指针数组
1.指针数组定义方法格式:类型说明符 *数组名[ 元素个数 ]int *p[10]; // 定义了一个整型指针数组p,有10个元素,都是int *类型的变量指针数组的分类: 同指针类型的分类,见上一篇博客大多数情况下,指针数组都用来保存多个字符串。#include <stdio.h>int main(){ char *name[5] = {"Hello", "Pig", "原创 2022-05-08 18:58:19 · 207 阅读 · 0 评论 -
C08指针
1. 相关概念操作系统给每个存储单元分配了一个编号,从ox00 00 00 00~0xff ff ff ff,这个编号称为地址,指针就是地址指针变量:即这个变量用来存放一个地址编号无论什么类型的地址,都是存储单元的变换,在32位平台下都是4个字节,即任何类型的指针变量都是4个字节大小,64位操作系统占8个字节。对应类型的指针变量,只能存放对应类型的地址。例如整型指针变量,只能存放整型变量的地址。#include <stdio.h>int main(){ char *a原创 2022-05-08 16:44:03 · 482 阅读 · 0 评论 -
C07变量
1. 变量的存储类别内存物理内存:实际的存储设备虚拟内存:操作系统虚拟出来的内存操作系统会在物理内存和虚拟内存之间做映射。在32位系统下,每个进程的寻址范围是4G, 0x00 00 00 00 ~ 0xff ff ff ff在写应用程序的时候,我们看到的都是虚拟地址在32位操作系统中,虚拟内存被分为两个部分,3G的用户空间和1G的内核空间,其中用户空间是当前进程私有的,内核空间是一个系统中所有进程公有的。虚拟内存分区(运行程序时,进行分区)堆:在动态申请内存的时候在堆里开辟内存栈:原创 2022-05-07 17:05:09 · 168 阅读 · 0 评论 -
C函数函数
1. 函数的概念函数是c语言的功能单位,实现一个功能可以封装一个函数来实现。定义函数的时候一切以功能为目的,根据功能去定函数的参数和返回值。函数就是将特定功能的代码封装在一个函数内部,当使用这些代码时,只需要调用函数即可。2. 函数的分类从定义角度分库函数(即函数是谁实现的)自定义函数系统调用(操作系统实现的函数)从参数角度分类有参函数:函数有一个或多个形参(参数类型随便)int fun(int a ,float b,double c){ }无参函数:函数没原创 2022-05-07 09:09:06 · 341 阅读 · 0 评论 -
C数组练习
从键盘得到一个数字比如345321,把其中每个数位的数字拆开并按顺序打印在屏幕上,打印的时候相邻数字使用空格分开,数字的数位不超过5个。#include<stdio.h>int main(){ int arr[5],num = 0,num1 = 0; //定义一个数组存放输入的数字 printf("请输入一个数字:\n"); scanf("%d",&num1); for (num = 0;num <= 4 ;num++){ // 初始化.原创 2022-05-05 20:31:16 · 113 阅读 · 0 评论 -
C数组数组
1.基础知识C语言中使用数组表示多个连续的同类型的存储位置使用数组表示多个连续存储位置的时候只需要一个名字,这个名字代表所有这些存储位置的整体每一个存储位置有一个自己的编号,最前边的存储位置的编号是0,向后依次递增,最后一个存储位置的编号是个数减一,这个编号叫做下标决不可以使用超过范围的下标使用名称和下标就可以表示这组存储位置中的某一个2.数组的分类2.1按元素类型分类字符数组:若干个字符变量的集合短整型数组整型数组长整型数组浮点型数组指针数组结构体数组2.2按维数分类原创 2022-05-05 17:13:34 · 664 阅读 · 0 评论 -
C流程控制语句
一、分支语句1.if语句流程控制语句可以让程序中的语句不再从上到下逐条执行分支是一种流程控制语句,可以把程序中某些语句忽略掉不去执行if关键字可以用来编写分支语句,只有当表达式为真时,才会执行对应语句如果多个分支的逻辑表达式之间存在互斥关系,则可以采用else关键字把他们合并成一个分支语句一个分支语句中的多个逻辑表达式之间如果具有互补关系,则可以把最后一个逻辑表达式省略例如:从终端获取一个数字,判断 正数,负数,零#include<stdio.h>int main(){原创 2022-05-04 17:08:58 · 639 阅读 · 0 评论 -
C流程-练习
1.if语句编写程序根据用户给定的年,月计算天数#include <stdio.h>int main(){ int year = 0,month = 0; printf("请输入年份和月份数字:"); scanf("%d%d",&year,&month); if(month == 1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12){ printf(原创 2022-05-04 17:08:41 · 556 阅读 · 0 评论 -
C操作符练习
1.闰年练习编写逻辑表达式判断用户给定的年份是否是闰年,年份可以被4整除但不能被100整除;年份可以被400整除。#include <stdio.h>int main(){ int year = 0 ,res = 0; printf("请输入年份数字:"); scanf("%d",&year); res = (!(year % 400)) || (!(year % 4) && (year % 100)); printf("计算结果是%d\n"原创 2022-05-02 22:15:34 · 147 阅读 · 0 评论 -
C标准函数
C语言标准函数1. printf 用来把信息打印在屏幕上(\n换行输出),需要引入stdio.h头文件:采用占位符可以把编写语句时还不知道的数字打印在窗口中占位符 % 的使用:《C语言占位符 格式占位符》一条语句中可以使用多个占位符,但是占位符的个数必须和数字的个数一致,数字按照从前到后的顺序替换所有的占位符:占位符也是分类型的,一种类型的数字和一个占位符配对使用,%d是和整数int类型配对使用的占位符。2. 变量声明语句计算机的内存可以用来记录数据,计算机的内存可以分成很多存原创 2022-05-01 10:57:54 · 874 阅读 · 0 评论 -
C特性-编译-书写-gcc-预处理-声明-字符数据
1.C语言程序开发基本步骤使用vi编写以.c作为扩展名的文件(源文件)。使用gcc对源文件进行编译(将代码翻译成机器语言) MinGW是windows平台下的gcc。使用命令 ./a.out 执行程序。2.C语言特性C语言程序中可以直接使用加减乘除四则计算符号(+ - * / ); 用来分分隔不同的处理步骤,每个用 ; 结束的处理步骤叫做一条语句每条语句必须独立完成一个工作,所有C语言程序都是由大量语句构成的C语言程序采用分组方式管理所有的语句,每组语句用一对大括号包含,分组是多层次原创 2022-04-30 10:01:08 · 602 阅读 · 0 评论 -
嵌入式C/C++学习路
里面有C语言基础知识和C++,主要目的是为了学习C++,后续会不断完善原创 2022-04-29 17:55:37 · 652 阅读 · 0 评论 -
Linux基础知识
Linux基础知识1.文件属性1) 文件属性由9个英文字母构成,决定了文件可以怎么使用。2)文件属性分成三组,每三组字母,针对一种特定的用户。3)三种用户分别是文件创建者,同组人和其他人。4)每组属性包含三个字母,第一个字母表示是否能查看文件内容,第二个字母表示是否能修改文件内容,第三个字母表示是否能执行文件(读、写、执行)2.程序和进程的区别1)程序是计算机力的一个文件,程序的内容不会随着时间改变2)进程是根据程序制作出来的一组数据,进程会随着时间变化3)用户真正是用的是进程而不是原创 2022-04-29 17:52:19 · 1326 阅读 · 0 评论