c/c++
老赵的博客
技术需要积累 有了收获就记录下来是一个好的习惯
展开
-
C++接口封装
C++原创 2023-02-14 16:58:30 · 99 阅读 · 0 评论 -
C++错题本
c++原创 2022-10-21 17:50:23 · 350 阅读 · 0 评论 -
Vector的迭代器 失效问题
STL迭代器失效原创 2022-09-27 16:13:00 · 614 阅读 · 1 评论 -
智能指针初识
shared_ptr原创 2022-09-06 10:27:07 · 93 阅读 · 0 评论 -
STL笔记
STL原创 2022-08-28 17:18:08 · 221 阅读 · 0 评论 -
1e3是浮点数?
1e3还是1.000000e3?原创 2022-07-28 09:57:22 · 1133 阅读 · 0 评论 -
c++类的定义使用以及小知识杂记
c++原创 2022-07-25 18:01:59 · 579 阅读 · 0 评论 -
单例的常用创建和使用方式
多线程常用单例模式原创 2022-06-21 11:14:02 · 73 阅读 · 0 评论 -
数组实现环形缓冲队列
typedef struct { int* a; int k; // 个数 int head; int tail;} MyCircularQueue;MyCircularQueue* myCircularQueueCreate(int k) { MyCircularQueue* obj = (MyCircularQueue*)malloc(sizeof(MyCircularQueue)); obj->a = malloc(siz.原创 2022-05-29 17:49:18 · 100 阅读 · 0 评论 -
代码规范C/C++
转载分享一下吧:C/C++代码规范(一)——文件结构、排版、命名规则_菠萝有点酸的博客-CSDN博客代码规范是每个程序员倍加关注的问题。本文是在学习林锐博士的《高质量C/C++编程指南》一书中,摘录、总结的笔记。文章目录1 文件结构1.1 版权和版本的声明1.2 头文件的结构1.4 头文件的作用1.5 目录结构2 程序的版式2.1 空行2.2 代码行2.3 代码行内的空格2.4 对齐2.5 长行拆分2.6 修饰符的位置2.7 注释3 命名规则3.1 共性规则3.2 简单的Windows应用程序...ht转载 2022-05-23 22:39:54 · 179 阅读 · 0 评论 -
顺序表实现栈 链表实现队列
1.顺序表实现栈结构 :#pragma once#include <stdio.h>#include <assert.h>#include <stdlib.h>//#define N 10//typedef int STDataType;//typedef struct Stack//{// STDataType a[N];// int top;//}ST;typedef int STDataType;typedef struct S原创 2022-05-22 13:12:08 · 183 阅读 · 0 评论 -
单链表经典题目
题目链接:合并两个链表力扣https://leetcode.cn/problems/merge-two-sorted-lists//** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nu.原创 2022-05-12 17:12:16 · 258 阅读 · 0 评论 -
单链表增删改查
//头插void SListPushFront(SListNode** pplist, SLTDateType x){ SListNode* pcurr = BuySListNode(x); if(*pplist==NULL) { *pplist = pcurr; } else { pcurr->next = *pplist;//这里会写成pcurr->next = pplist->next; *pplist = pcurr; }}...原创 2022-05-05 15:47:11 · 658 阅读 · 0 评论 -
单链表头插尾插必须使用二级指针码?
1.使用二级指针版本:调用时,传入的是指针变量地址,需要改变指针的指向必须使用二级指针//1.test.cvoid TestSList(){ SLTNode* plist = NULL; SListPushBack(&plist, 1); SListPushBack(&plist, 2); SListPushBack(&plist, 3); SListPushBack(&plist, 4); SListPushBack(&plist, 5)...原创 2022-05-05 14:50:55 · 1165 阅读 · 0 评论 -
函数的栈帧理解
1.2.局部变量在main函数申请栈帧空间(注意一般都是编译器分配的随机值)后,在其中随机位置申请局部变量空间3.函数的形参在申请栈帧空间之前,参数由右向左一次压栈,然后使用汇编指令,将main函数的实参值赋值过来4.5.函数调用:先将call指令调用函数的一下条指令的地址压栈,再申请栈帧空间,调用完毕再call之前保存的地址...原创 2022-04-21 22:43:08 · 56 阅读 · 0 评论 -
程序的执行过程
1.首先以一题目为例:上图:1.首先预处理:将#include 展开 .c 就变为 .i2.编译:将文本变为机器语言 .i 变为 .s3.汇编:将hello.s翻译成机器语言指令 .o4.链接:(ld)负责将多个可重定位目标文件(.o文件)合并为一个可执行文件,合并过程中链接器负责解析符号表...转载 2022-04-11 22:37:29 · 68 阅读 · 0 评论 -
c通讯录 :动态申请内存版本
//1.contect.c#define _CRT_SECURE_NO_WARNINGS 1#include"contect.h"#include<assert.h>void InitContect(Contect* pc){ pc->sz = 0; //memset(pc->data, 0, sizeof(pc->data)); //新增 pc->data = (PeoInfo*)calloc(DEFAULT, sizeof(PeoInfo));/.原创 2022-04-10 20:31:09 · 345 阅读 · 0 评论 -
qsort函数指针的定义与调用
#include<stdio.h>#include <Windows.h>void swap(char* e1,char*e2,int width){ for(int i=0;i<width;i++) { char temp=*e1; *e1 = *e2; *e2=temp; e1++;e2++; }}int cmp_int(const void* e1,const void*e2){ return *(int*)e1-*(int*)..原创 2022-03-16 23:34:33 · 356 阅读 · 0 评论 -
扫雷c语言
1.主程序:#include "game.h"void menu(){ printf("***************************************\n"); printf("************1.play 0.exit*********\n"); printf("***************************************\n");}void game(){ char Mine[ROWS][COLS]={0}; char Sho原创 2022-01-24 11:46:47 · 135 阅读 · 0 评论 -
反斜杠 \ 与 斜杠 / 在编程中的不同
单独的一个反斜杠"\"在编程中通常用于转义字符,如\0表示“空字符”\r表示“回车”,\n表示“换行”等;所有通常要用到反斜杠时,要用两个反斜杠"\\"来表示一个反斜杠“\”的含义。 而"\\"则表示反斜杠\的转义字符,在编程中常用于表示反斜杠\不是普通的字符,而是路径的分隔符。如用一个字符串存储保存文件的路径时,路径为F:\caffe\Temp\image.jpg;则用字符串存储时,应该写为str=F:\caffe\Temp\image.jpg;因为若不这样表示,则反斜杠\将会当作普通字符,..原创 2022-01-21 16:25:21 · 7473 阅读 · 0 评论 -
使用位操作写寄存器
1.首先注意 表达式中的符号优先级需求:求解:int CPCIAcquisitionCard::SetBTime(unsigned int &year, unsigned int &month, unsigned int &day, unsigned int &hour, unsigned int &minute, unsigned int &sec){ unsigned int controlStatus = 0; in.原创 2022-01-20 19:34:57 · 322 阅读 · 0 评论 -
C语言练习1
截图保存:字符的使用\n 换行\12 八进制的12,10进制的值为10\1 八进制的1,10进制也是1\\ 表示\原创 2022-01-19 17:44:00 · 373 阅读 · 0 评论 -
TCP客户端与服务端在连接状态下,服务端突然断开重启,客户端重连
客户端首先将socket设置为非阻塞,建立连接bool TcpRspObject::createSocketAndConnect(){ if(m_listenfd > 0) return true; m_listenfd = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); if(m_listenfd < 0) { qDebug()<<"socket error";原创 2021-10-12 10:21:13 · 3150 阅读 · 0 评论