Scarlett2025
码龄3年
  • 216,935
    被访问
  • 460
    原创
  • 5,000
    排名
  • 54
    粉丝
  • 0
    铁粉
关注
提问 私信

个人简介:种一棵树最好的时间是十年前,其次是现在。——非洲经济学家Dambisa Moyo《dead aid》

  • 加入CSDN时间: 2019-05-15
博客简介:

Scarlett的博客

查看详细资料
  • 6
    领奖
    总分 2,549 当月 9
个人成就
  • 获得179次点赞
  • 内容获得118次评论
  • 获得599次收藏
创作历程
  • 85篇
    2022年
  • 375篇
    2021年
成就勋章
TA的专栏
  • yolov5
    4篇
  • C#窗体修炼手册
    6篇
  • OpenCV图像处理
    1篇
  • C提高
    43篇
  • Linux
    1篇
  • MFC
    29篇
  • 新黑马 STL
    41篇
  • C++11并发与多线程
    6篇
  • 新黑马 C++基础
    58篇
  • 黑马2017C基础
    3篇
兴趣领域 设置
  • 人工智能
    opencv计算机视觉
  • 微软技术
    c#
  • 服务器
    linux
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Anaconda命令用法

Anaconda命令
原创
发布博客 2022.06.27 ·
85 阅读 ·
0 点赞 ·
0 评论

复选框的基本使用与实现全选和反选功能

复选框全选和取消全选
原创
发布博客 2022.06.22 ·
15 阅读 ·
0 点赞 ·
0 评论

yolov5训练自己的数据集报错记录

运行yolov5-5时遇到的一些问题
原创
发布博客 2022.06.20 ·
86 阅读 ·
0 点赞 ·
0 评论

yolov5依赖库安装

yolov5依赖库安装记录
原创
发布博客 2022.06.18 ·
298 阅读 ·
1 点赞 ·
0 评论

利用Anaconda安装pytorch深度学习环境

yolov5前期运行环境搭建
原创
发布博客 2022.06.16 ·
175 阅读 ·
1 点赞 ·
9 评论

加载、修改、保存图像

OpenCV加载、修改、保存图像
原创
发布博客 2022.06.15 ·
17 阅读 ·
0 点赞 ·
0 评论

VS2017配置openCV3.4.5步骤

VS2017配置openCV步骤
原创
发布博客 2022.06.14 ·
151 阅读 ·
0 点赞 ·
0 评论

预处理指令

头文件包含 #include 注意 “” <> 区别 <> 系统头文件 “” 自定义头文件 宏定义 不重视作用域 可以利用 #undef 卸载宏 宏常量 没有数据类型 宏函数 要注意表达式完整性 void test01(){#define MAX 1024 //#undef MAX} 条件编译 测试存在 #ifdef 测试不存在 #ifndef 自定义条件测试 #if //#de......
原创
发布博客 2022.05.27 ·
22 阅读 ·
0 点赞 ·
0 评论

递归函数案例

函数自身调用自身,必须有结束条件退出循环 案例 实现字符串逆序遍历 //1、实现字符串逆序遍历void reversePrint(char * p){ if (*p == '\0') { return; //退出条件 } reversePrint(p + 1); printf("%c ", *p);}void test01(){ char * str = "abcdef"; reversePrint(str);}//2、实现字符串正序遍历void Posi
原创
发布博客 2022.05.27 ·
21 阅读 ·
0 点赞 ·
0 评论

动态库配置流程

静态库优缺点 优点 : 生成的exe程序中包含了 静态库中的内容,与静态库无瓜葛 缺点 : 浪费资源 , 更新发布比较麻烦 动态库 运行阶段才去链接函数 配置流程: 创建项目 --- 配置属性 -- 常规 --- 配置类型 --- 动态库 重新生成解决方案,生成 .dll .lib 库文件 导入函数 只能在当前项目下使用 导出函数 可以在外部使用 __declspec (dllexport) int mySub(int a, int b); ...
原创
发布博客 2022.05.27 ·
29 阅读 ·
0 点赞 ·
0 评论

静态库配置流程

创建项目 --- 配置属性 --- 常规 ----- 配置类型 --- 静态库 重新生成项目 ,创建出后缀名为 .lib的静态库文件 测试静态库重新生成解决方案 Ctrl+Shift+B在程序中直接使用静态库中的函数即可,此时会出现警告在程序中引入.h头文件即可...
原创
发布博客 2022.05.27 ·
17 阅读 ·
0 点赞 ·
0 评论

函数指针的定义

先定义出函数类型,再通过类型定义出函数指针 typedef void(FUNC_TYPE)(); FUNC_TYPE * pFunc = func; 先定义出函数指针类型,再定义函数指针 typedef void(*FUNC_TYPE)(); FUNC_TYPE pFunc = func; 直接定义函数指针变量 void(* pFunc )() = func; 函数指针和指针函数的区别 //函数指针 是指向函数的 指针 //指针函数 函数的返回值是一个指针.....
原创
发布博客 2022.05.26 ·
69 阅读 ·
0 点赞 ·
0 评论

链表的基本使用

带头节点链表 好处在于 头节点永远都是固定的 初始化链表 struct LinkNode * pHeader = init_LinkList () 遍历链表 void foreach_LinkList( struct LinkNode * pHeader ) 插入链表 void insertLinkList( struct LinkNode*pHeader , int oldval ,int newval ) 在oldval前插入 newVal,如果没有oldval就进行尾插 ...
原创
发布博客 2022.05.26 ·
27 阅读 ·
0 点赞 ·
0 评论

链表的基本概念

链表引出 数组有缺陷 静态空间,一旦分配内存就不可以动态扩展,要不分配不够,要不分配过多 对于数组头部进行插入和删除效率低 链表的组成 链表是由节点组成的 节点由 数据域 和 指针域组成 struct LinkNode { int num ; struct LinkNode * next; } 链表的分类 方式1 静态链表 动态链表 方式2 单向链表 双向链表 单向循环链表 双向循环链表 ...
原创
发布博客 2022.05.26 ·
17 阅读 ·
0 点赞 ·
0 评论

文件加密和解密实现

code.h#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>//加密void codeFile(char * sourceFile, char * destFile);//解密void deCodeFile(char * sourceFile, char * destFile);code.c#include"code..
原创
发布博客 2022.05.26 ·
114 阅读 ·
0 点赞 ·
0 评论

配置文件读写

需求:将文件中的有效内容截取出来,并且放入到一个键值对的数组中 struct ConfigInfo { char key[64] ; char value[64] }; 获取有效行数 判断当前行是否有效 解析数据 parseFile 将有效数据放入到数组中,数组在堆区开辟 根据key获取value getInfoByKey 释放内存 freeSpaceconfig.h#pragma once#define _CRT_SECURE_NO_WARNINGS...
原创
发布博客 2022.05.25 ·
22 阅读 ·
0 点赞 ·
0 评论

文件读写注意事项

当按照字符的方式读文件时候,通常利用判断EOF获取是否读到文件尾 当对自定义数据类型写入文件时,不要将指针写入到文件里,要将指针指向的内容写入#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>void test01(){ FILE * file = fopen("./test.txt", "r"); if (file == NU..
原创
发布博客 2022.05.25 ·
33 阅读 ·
0 点赞 ·
0 评论

文件读写方式

按照字符进行读写 写文件 fputc 读文件 fgetc 文件结尾 EOF END OF FILE void test01(){ //写文件 FILE * f_write = fopen("./test1.txt", "w"); if (f_write == NULL) { return; } char buf[] = "hello world"; for (int i = 0; i < strlen(buf); i++) { fputc(...
原创
发布博客 2022.05.25 ·
44 阅读 ·
0 点赞 ·
0 评论

内存对齐知识

内存对齐原因:以空间换时间 对于自定义数据类型对齐规则: //1、从第一个属性开始 偏移为0 //2、第二个属性开始,地址要放在 该类型整数倍 与 对齐模数比 取小的值 的整数倍上 //3、所有的属性都计算结束后,整体再做二次对齐,整体需要放在属性中最大类型 与 对齐模数比 取小的值的整数倍上 如果查看对齐模数 #pragma pack(show) 默认对齐模数 是8,可以将对齐模数改为 2的n次方 当结构体嵌套结构体时候,只需要看子结构体中最大数据类型就可以了...
原创
发布博客 2022.05.20 ·
23 阅读 ·
0 点赞 ·
0 评论

结构体偏移量

可以利用offsetof来计算结构体中属性的偏移 也可以通过地址的相加运算 计算偏移量 结构体嵌套结构体#include <stddef.h>struct Person{ char a; // 0 ~ 3 int b; // 4 ~ 7};void test01(){ struct Person p1; struct Person * p = &p1; printf("b的偏移量为: %d
", (int)&(p->b...
原创
发布博客 2022.05.20 ·
64 阅读 ·
0 点赞 ·
0 评论
加载更多