![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言 C++ 程序代码
Akalaka小鑫
越努力越幸运
展开
-
atan()函数与atan2()函数
atan函数与atan2函数一、atan()函数1. 描述2. 声明3. 参数4. 返回值5. 头文件二、atan2()函数1. 描述2. 声明3. 参数4. 返回值5. 头文件一、atan()函数1. 描述表示 x 的反正切2. 声明double atan(double x)3. 参数x — 浮点值4. 返回值该函数返回以弧度表示的 x 的反正切,弧度区间为 [-pi/2,+pi/2]5. 头文件#include<math.h>二、atan2()函数1原创 2022-05-01 23:36:53 · 1577 阅读 · 0 评论 -
C语言——结构体
结构一、定义结构二、声明结构的形式第一种第二种第三种第四种第五种三、结构的初始化一、定义结构使用 struct 语句来定义结构,结构是一个包含多个成员的数据类型。struct 语句的格式如下:struct tag { member-list member-list member-list ...} variable-list ;在一般情况下,tag、member-list、variable-list 这 3 部分至少要出现 2 个。符号含义原创 2022-03-28 17:16:17 · 1504 阅读 · 1 评论 -
C语言—枚举
枚举枚举是一种用户定义的数据类型,它用关键字 enum 以如下语法来声明:enum 枚举类型名字 { 名字0,...,名字n };枚举类型名字通常并不真的使用,要用的是在大括号里的名字,因为它们就是就是常量符号,它们的类型是 int,值则依次从 0 到 n。如:enum colors { red, yellow, green };就创建了三个常量,red 的值是0,yellow 是1,而 green 是2。当需要一些可以排列起来的常量值时,定义枚举的意义就是给了这些常量值名字。可原创 2022-03-23 17:13:35 · 1546 阅读 · 0 评论 -
C语言中操作字符串的函数
C语言中操作字符串的函数一、函数表二、strlen实例运行结果三、strcmp实例运行结果一、函数表函数名函数功能strlensize_t strlen(const char* s);返回字符串 s 的长度(不包括结尾的0)strcmpint strcmp(const char* s1, const char* s2);比较两个字符串,返回:如果 s1 == s2,返回 0;如果 s1<s2 则返回小于 0 (如 -1);如果 s1>s2 则返回大于 0原创 2022-03-21 23:32:58 · 1434 阅读 · 0 评论 -
C语言的输入、输出
C语言的输入与输出一、scanf() 和 printf() 函数实例运行结果二、getchar() 和 putchar() 函数实例运行结果三、gets() 和 puts() 函数实例运行结果一、scanf() 和 printf() 函数实例#include <stdio.h>int main(){ char a[100]; printf("Please enter: "); scanf("%s", a); printf("\nYou entered : %s\n", a);原创 2022-03-21 17:55:01 · 12477 阅读 · 0 评论 -
字符数组与字符串
字符数组与字符串字符数组实例运行结果字符串实例运行结果字符数组实例#include <stdio.h>int main(){ char a[] = { 'H','e','l','l','o','!' }; printf("%p\n", a); printf("%llu\n", sizeof(a) / sizeof(a[0])); for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++) {原创 2022-03-21 11:37:59 · 200 阅读 · 0 评论 -
C语言scanf()函数
scanf()函数从输入设备按照指定的类型输入对应类型的若干个数据,遇到空格、制表符和回车时,读取结束。scanf 类型说明符如下表:类型合格的输入参数类型%a、%A读入一个浮点值(仅 C99 有效)float%c单个字符:读取下一个字符。如果指定了一个不为 1 的宽度 width,函数会读取 width 个字符,并通过参数传递,把它们存储在数组中连续位置。在末尾不会追加空字符char%d十进制整数:数字前面的 + 或 - 号是可选的int%e、%E、原创 2022-03-19 20:43:21 · 818 阅读 · 0 评论 -
二维数组的使用
实例#include <stdio.h>const int MAX = 4;int main(){ char a[10] = "dogs"; for (int i = 0; i < 20; i++) { printf("a[%d] = %c\n", i, *(a + i)); } char b[5][10] = { "abcdef","ghijkl","mnopq","rstuv","wxyz." }; for (int原创 2022-03-19 18:06:45 · 165 阅读 · 0 评论 -
指针数组的含义
实例1#include <stdio.h>int main(){ double a[] = { 1000.0, 2.0, 3.4, 17.0, 50.0 }; double* p[5]; // 把 p 声明为一个数组,由 5 个double 指针组成。 // 因此,p 中的每个元素,都是一个指向 double 值的指针。 int i; for (i = 0; i < 5; i++) { p[i] = &am原创 2022-03-18 22:14:28 · 378 阅读 · 6 评论 -
指向数组的指针
实例#include <stdio.h>int main(){ double a[5] = { 1000.0, 2.0, 3.4, 17.0, 50.0 }; double* p; int i; p = a; /* 输出数组中每个元素的值 */ printf("使用指针的数组值\n"); for (i = 0; i < 5; i++) { printf("*(p + %d) = %f\n", i,原创 2022-03-18 21:50:27 · 277 阅读 · 0 评论 -
动态内存的分配
实例#include <stdio.h>#include<stdlib.h>int main(){ int number; int* a; int i; printf("输入数量:"); scanf("%d", &number); //int a[number]; a = (int*)malloc(number * sizeof(int)); for (i = 0; i < number; i++) { scanf("%d", &a原创 2022-03-18 17:43:51 · 225 阅读 · 0 评论 -
指针加1的含义、指针减法运算
实例#include <stdio.h>int main(){ char a[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; char* p1 = a; printf("p1=%p\n", p1); printf("p1+1=%p\n", p1 + 1); int b[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int* p2 = b; printf("p2=%p\n", p2); printf("p2+1=%p原创 2022-03-18 09:29:01 · 3878 阅读 · 2 评论 -
指针常量与常量指针的区别、const 数组
指针常量与常量指针、const 数组一、指针常量指针本身是常量二、常量指针指向常量的指针三、实例四、const 数组一、指针常量指针本身是常量// 指针本身不能被修改int* const q = &i; //q 是 const*q = 26; //OKq++; //ERROR二、常量指针指向常量的指针// 不能通过指针修改所指变量的值const int* p = &i;*p = 26; //ERROR 因为 (*p) 是 consti= 26; //OKp = &原创 2022-03-16 23:19:00 · 392 阅读 · 0 评论 -
数组的地址、指针的使用、数组名加1的含义、数组的集成初始化、数组的大小、数组的赋值
数组与指针一、数组的地址实例运行结果二、指针的使用实例运行结果一、数组的地址实例#include <stdio.h>int main(){ int a[10]; printf("%p\n", &a); printf("%p\n", a); printf("%p\n", &a[0]); printf("%p\n", &a[1]); return 0;}运行结果二、指针的使用实例#include <stdio.h>voi原创 2022-03-16 15:41:46 · 1153 阅读 · 0 评论 -
C语言中exit(0) 、exit(1) 和return的区别
C语言中的exit文字描述代码验证return 表示返回 , 函数返回exit 表示程序退出exit(0) 表示正常退出,代码为1exit(1) 表示异常退出,代码为1文字描述return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。return是返回函数调用,如果返回的是main函数,则为退出程序 。exit是在调用处强行退出程序,运行一次程序就结束。代码验证return 表示返回 , 函数返回#include <stdio.h>int原创 2022-03-11 17:40:18 · 4428 阅读 · 1 评论 -
C语言printf()函数
printf()函数输出格式为:%[flags][width][.precision][length]specifier格式字符含义%d十进制有符号整数%u十进制无符号整数%f浮点数%s字符串%c单个字符%p指针的值%e指数形式的浮点数%x, %X无符号以十六进制表示的整数%o无符号以八进制表示的整数%g把输出的值按照 %e 或者 %f 类型中输出长度较小的方式输出%p输出地址符%lu32位无符号原创 2022-03-08 14:18:49 · 399 阅读 · 0 评论 -
C语言知识总结:a++ 与 ++a 的区别、return 0和return 1的区别、逗号表达式计算规则、数据类型占用字节数、赋值运算符
C语言知识总结一、C语言中a++ 与 ++a 的区别二、C语言中return 0和return 1的区别三、逗号表达式计算规则四、常用基本数据类型占用空间(64位机器为例)五、C语言中的赋值运算符一、C语言中a++ 与 ++a 的区别“++”属于自增运算符,“a++”表示先取值,再自增加1,“++a”表示先自增加1,再取值二、C语言中return 0和return 1的区别return调到主函数中return 0函数正常终止return 1函数异常终止三、逗号原创 2022-03-08 11:47:53 · 1076 阅读 · 0 评论 -
报错-C4996 ‘fopen‘: This function or variable may be unsafe. Consider using fopen_s instead. 解决办法
方法一:在程序最前面加#define _CRT_SECURE_NO_DEPRECATE;方法二:在程序最前面加#define _CRT_SECURE_NO_WARNINGS;方法三:在程序最前面加#pragma warning(disable:4996);方法四:把scanf、scanf改为scanf_s、fopen_s,具体方法请百度;方法五:无需在程序最前面加那行代码,只需在新建项目时取消勾选“SDL检查”即可;方法六:若项目已建立好,在项目属性里关闭SDL也行;方法七:在工程项目设置一下就原创 2021-09-15 20:48:53 · 1096 阅读 · 0 评论 -
cvInvert 函数
double cvInvert( //矩阵取逆 const CvArr* src, //目标矩阵 CvArr* dst, //结果矩阵 int method = CV_LU //逆运算方法);逆运算方法的参数值含义CV_LU高斯消去法CV_SVD神秘值分解CV_SVD_SYM对称矩阵的SVD...原创 2021-09-11 10:47:20 · 354 阅读 · 0 评论 -
C++ 关键字-归纳总结
关键字含义asm允许在 C++ 程序中嵌入汇编代码auto存储类型标识符,表明变量"自动"具有本地范围,块范围的变量声明(如for循环体内的变量声明)默认为auto存储类型boolbool(布尔)类型,C++ 中的基本数据结构,其值可选为 true(真)或者 false(假)。C++ 中的 bool 类型可以和 int 混用,具体来说就是 0 代表 false,非 0 代表 true。bool 类型常用于条件判断和函数返回值break用在switch语句或者循环...原创 2021-09-06 16:59:15 · 247 阅读 · 0 评论 -
OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::ipp_cvtColor
OpenCV ErrorOpenCV报错如下:原因:1.图像格式转换2.图像获取失败3.待读取的图片格式不一致4.待读取的图片路径不对OpenCV报错如下:OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::ipp_cvtColor, file C:\builds\master_PackSlave-win64-vc12-shared\opencv\modules\imgproc\src\color.cpp, line 7456原因:原创 2021-09-02 15:22:58 · 3065 阅读 · 1 评论 -
Visual Studio 配置 Intel RealSense 相机 + OpenCV 环境以及官方例程运行
Visual Studio + OpenCV + Intel Realsense相机配置教程一、Visual Studio 安装配置二、OpenCV 的下载与安装三、Visual Studio 下 OpenCV 的环境配置四、Visual Studio 下 Intel Realsense相机 的环境配置五、代码测试一、Visual Studio 安装配置二、OpenCV 的下载与安装三、Visual Studio 下 OpenCV 的环境配置四、Visual Studio 下 Intel Reals原创 2021-09-01 09:36:30 · 4959 阅读 · 6 评论 -
Visual Studio 下 OpenCV 的环境配置
Visual Studio 配置 OpenCV一、visual studio 安装二、OpenCV 的下载安装1.第一种方式(较复杂)2.第二种方式(较容易)三、OpenCV 的环境配置1.Windows系统下的环境配置2.应用程序扩展的配置3.visual studio下的环境配置(1)创建新项目(2)配置属性四、测试1.测试代码2.运行结果一、visual studio 安装参考我之前的博客:点击此处跳转二、OpenCV 的下载安装1.第一种方式(较复杂)利用 cmake 编译配置 openc原创 2021-08-31 21:49:54 · 1108 阅读 · 2 评论 -
GitHub下载网速太慢-解决方案
GitHub下载网速太慢以下载 OpenCV 为例1.复制GitHub下的下载地址2.注册、登录码云3.新建仓库4.点击导入5.粘贴网址导入6.点击开始下载以下载 OpenCV 为例1.复制GitHub下的下载地址2.注册、登录码云打开码云进行注册、登录,点击此处跳转3.新建仓库点击右上角的 + ,新建一个仓库4.点击导入5.粘贴网址导入6.点击开始下载...原创 2021-08-31 19:45:29 · 240 阅读 · 0 评论 -
Visual Studio 安装教程
visual studio安装教程下载下载网址版本选择安装使用微软官方教程网址下载下载网址下载网址:点击此处跳转版本选择有三种版本:Community(社区版),Professional(专业版),Enterprise(企业版),选择社区版下载即可安装使用微软官方教程网址微软官方教程网址:点击此处跳转...原创 2021-08-31 15:48:03 · 8285 阅读 · 2 评论 -
class A:public class B
class A:public class BB是基类,A是B的派生类,即类A以公有的方法继承类B原创 2021-08-30 14:16:40 · 4504 阅读 · 0 评论 -
Debug Error :abort() has been called 报错原因及解决方法
报错报错原因指针的问题,非法指针访问、指针访问越界、内存泄漏、内存越界和内存不够分配多线程访问资源出的问题。检查一下exe和dll是否混用的不同版本的crt解决办法检查申请的空间没有释放检查堆栈空间是否已经被全部分配满,建议每次内存分配尽量不要太大,并且记得释放指针指向了不可预期的内存位置...原创 2021-08-30 14:13:49 · 9301 阅读 · 1 评论 -
OpenCV Error:Bad flag(parameter or structure field)(Unrecognized or unsupported array type) 报错解决
OpenCV Error: Bad flag (parameter or structure field) (Unrecognized or unsupported array type) in cvGetMat原因:imshow,imread,cvshowimage等加载图像的函数未能成功加载图像,此时需要检查这些函数的第二个参数的路径以及加载量,进行更改...原创 2021-08-28 09:13:05 · 1408 阅读 · 0 评论 -
C++ 中 | 和||
| :按位或运算符,转百度百科|| :逻辑或运算符,转百度百科原创 2021-08-25 20:25:27 · 3743 阅读 · 0 评论 -
while(1)语句
while(1)就是不断地重复执行{}内的循环体。通常,循环体内会有至少一个if判断语句,当满足什么条件时,break跳出循环结束。int x=1;int y=0;while(1){ y = y + x; x++; if (x > 100) break;}; printf("%d",y);循环体里做累加,x 从 1 开始循环,直到 x =101 ( 满足条件x > 100) ,执行 break跳出循环。...原创 2021-08-24 15:37:05 · 12177 阅读 · 0 评论 -
void 与 void *
void :无类型对函数返回的限定当函数不需要返回值值时,必须使用void限定,这就是我们所说的第一种情况。例如:void func(int a,char *b)。对函数参数的限定当函数不允许接受参数时,必须使用void限定,这就是我们所说的第二种情况。例如:int func(void)。void * :无类型指针void 指针可以指向任意类型的数据,就是说可以用任意类型的指针对 void 指针对 void 指针赋值。int *a;void *p;p=a;如果要将 void 指原创 2021-08-24 15:30:22 · 143 阅读 · 0 评论 -
C语言或C++中\t \r \n 的含义
\t \r \n都是转义字符字符含义\t横向跳到下一制表符位置\r回车\n回车换行原创 2021-08-12 16:28:35 · 470 阅读 · 0 评论 -
cvCircle()函数
cvCircle是OpenCV中绘制圆形的一个程序函数void cvCircle( CvArr* img, CvPoint center, int radius, CvScalar color, int thickness, int line_type, int shift );参数含义img图像center圆心坐标radius圆的半径color线条的颜色thickness如果是正原创 2021-08-12 16:22:29 · 294 阅读 · 0 评论 -
double* a 与 double** a
double * a;意思是a指向一个double变量的地址;double **a;意思是a指向一个地址,而这个地址指向一个double变量;double i=12.34;double *a=&i;double **aa=&a;cout<<"测试地址:"<<endl;//输出结果一样,都是i的地址cout<<&i<<endl;cout<<a<<endl;cout<<*aa<<原创 2021-08-12 16:05:20 · 2807 阅读 · 0 评论 -
cvFindCornerSubPix()函数
函数cvFindCornerSubPix()用于发现亚像素精度的角点位置void cvFindCornerSubPix( const CvArr* image, CvPoint2D32f* corners,int count, CvSize win, CvSize zero_zone,CvTermCriteria criteri原创 2021-08-12 11:08:35 · 552 阅读 · 0 评论 -
memcpy()函数
描述库函数:从存储区 str2 复制 n 个字节到存储区 str1。void *memcpy(void *str1, const void *str2, size_t n)参数str1 – 指向用于存储复制内容的目标数组,类型强制转换为 void* 指针str2 – 指向要复制的数据源,类型强制转换为 void* 指针n – 要被复制的字节数返回值该函数返回一个指向目标存储区 str1 的指针。...原创 2021-08-12 09:24:38 · 85 阅读 · 0 评论 -
extern关键字
在函数内定义的变量是局部变量,而在函数之外定义的变量则称为外部变量,外部变量也就是我们所讲的全局变量。全局变量可以为本文件中的其他函数所共用,它的有效范围为从定义变量的位置开始到本源文件结束。然而,如果全局变量不在文件的开头定义,有效的作用范围将只限于其定义处到文件结束。如果在定义点之前的函数想引用该全局变量,则应该在引用之前用关键字 extern 对该变量作“外部变量声明”,表示该变量是一个已经定义的外部变量。有了此声明,就可以从“声明”处起,合法地使用该外部变量。#include <st.原创 2021-08-11 20:18:53 · 51 阅读 · 0 评论 -
ROS中launch文件添加注释
由于launch文件采用xml文本标记语言进行编写的,所以对于代码的注释不同于C、C++那样C、C++注释添加方式://// 定义主函数int main()launch文件添加注释方式:<launch> ...</launch><!--每一个launch文件必须以此开始和结束-->...原创 2021-07-27 19:40:21 · 6879 阅读 · 0 评论 -
C++函数重载
C++函数重载在实际的代码编写当中,有时候对于同一个功能函数,可能处理的对象类型不同,则需要重新实现一遍这个函数,这样下去就显得代码更加繁多,C++为了解决这一问题,而支持函数重载来解决这个问题。那么,C++中函数重载的出现,则很好的解决这个问题,函数重载即两个或以上的函数,函数名相同,但形参类型或个数不同,编译器根据调用方传入的参数的类型和个数,自动选择最适合的一个函数来进行绑定调用,自动实现选择。#include<iostream>using namespace std;原创 2021-07-26 20:04:41 · 66 阅读 · 0 评论 -
c++中的类和对象
类是对象的抽象和概括,而对象是类的具体和实例类其实就是一个模子,是一个变量类型,对象就是这个类型定义出来的具体的变量,就像int a;这句话,int对应类,a就对应对象。对象的三种访问权限privateprivate表示私有,被它声明的成员,仅仅能被该类里的成员访问,外界不能访问,是最封闭的一种权限,在主函数中主要通过对象.变量的方式直接访问的话就会被禁止报错;protectedprotected比private稍微公开一些,除了类内自己的成员可以访问外,它的子类也可以访问;publicpu原创 2021-07-26 19:32:44 · 55 阅读 · 0 评论