自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 c++学习记录2

代码保存//1、构造函数的分类及调用//分类// 按照参数分类 无参构造(默认构造)和有参构造// 按照类型分类 普通构造函数和拷贝构造函数/*class person{public: //构造函数 person() { cout << "person默认构造函数的调用" << endl; } person(int a) { age = a; cout << "person有参构造函数的调用" << endl; }

2021-09-10 19:08:57 147

原创 c++学习记录1

c++学习记录,仅作代码保存#include <iostream>using namespace std;#include <string.h>/*int* func(){ //c使用malloc开辟内存,c++使用new int* p = new int(10);//创建一个变量,这个变量存放10 return p;}void test(){ //创建10个整型数据的数组,在堆区 int * arr=new int[10]; for (int i =

2021-09-10 17:08:59 158

原创 在结构体内实现可变数组

柔性数组的优点:1.内存碎片更少,内存利用率更高2.内存空间连续,访问速度更快3.使用方法简单,步骤少,不容易出现错误#include <stdio.h>#include <stdlib.h>//在结构体内实现可变数组//使用柔性数组的方法struct S{ int n; //int arr[]; int arr[0];//未知大小的,柔性数组成员,数组的大小是可调整的};int main1(){ //struct S s; //printf("%d

2021-09-04 12:45:30 972

原创 使用动态开辟内存空间的常见错误

1.对NULL的解引用操作int main(){ int* p = (int*)malloc(40); *p = 0;//err 万一malloc失败了,p就被赋值为NULL free(p); p = NULL; return 0;}2.对动态开辟内存的越界访问int main(){ int* p = (int*)malloc(5 * sizeof(int)); if (p == NULL) { return 0; } else { int i = 0; fo

2021-09-02 20:07:39 194

原创 动态内存分配相关函数malloc、free、calloc、realloc

1.malloc:为一系列元素分配一组内存块。当开辟成功时返回内存块的地址,开辟失败则返回空指针NULL#include <stdlib.h>#include <stdio.h>#include <errno.h>#include <string.h>int main(){ int n = 0; scanf("%d", &n); //malloc申请内存空间 int* p = (int*)malloc(n * sizeof(int

2021-09-02 19:22:32 127

原创 C语言实现简单通讯录程序

使用C语言实现简单通讯录程序文件contact.h#pragma once#define MAX 1000#define MAX_NAME 20#define MAX_SEX 5#define MAX_TELE 12#define MAX_ADDR 30#include <stdio.h>#include <string.h>#include <stdlib.h>enum Option{ EXIT, ADD, DEL, SEARCH

2021-09-02 15:45:12 1907

原创 用C语言实现简单三子棋

用C语言实现简单三子棋game.h文件#include <stdio.h>#include <stdlib.h>#include <time.h>#define ROW 3#define COL 3void InitBoard(char board[ROW][COL], int row, int col);void DisplayBoard(char board[ROW][COL], int row, int col);void PlayerMove

2021-08-30 23:25:38 142

原创 求出两个数不同的二进制位数

求出两个数不同的二进制位数#include <stdio.h>int get_diff_bit(int m, int n){ int temp = m ^ n;//使用异或,不同的位数变成1 int count = 0; //对temp的1进行计数 while (temp) { temp = temp & (temp - 1); count++; } return count;}int main(){ int m = 0; int n = 0; s

2021-08-30 23:15:30 178

原创 输入一个整数,将二进制的奇数和偶数分开打印

输入一个整数,将二进制的奇数和偶数分开打印#include <stdio.h>//打印奇数位void bit_printf_ji(int a){ int i = 0; //从30开始右移偶数位,当右移0位时是二进制数的第一位 for (i = 30; i >=0; i -= 2) { if (((a >> i) & 1) == 1) { printf("1 "); } else printf("0 "); }}//打印偶

2021-08-30 23:10:11 171

原创 计算自幂数

//计算自幂数如果在一个固定的进制中,一个n位自然数等于自身各个数位上数字的n次幂之和,则称此数为自幂数。例如:在十进制中,153是一个三位数,各个数位的3次幂之和为13+53+3^3=153,所以153是十进制中的自幂数。在n进制中,所有小于n的正整数都为自幂数,比如2进制中1是自幂数,3进制中1和2都是自幂数,4进制中1,2和3都是自幂数#include <stdio.h>//计算num^kint k_cifang(int num, int k){ if (k > 0)

2021-08-30 20:53:35 759

原创 字符串左/右旋转问题

字符串左/右旋转问题字符串左/右旋转问题,以左旋转为例暴力解法//arr 要旋转的字符串//k 要旋转的位数void left_move(char* arr, int k){ assert(arr!=NULL); //旋转一次 while (k--) { int i = 0; char tmp = *arr; while (*(arr + i) != '\0') { *(arr + i) = *(arr + i+1); i++; } if(i!=0)

2021-08-30 18:40:16 227

原创 判断一个数是否在杨氏矩阵中,在就返回坐标

判断一个数是否在杨氏矩阵中,在就返回坐标#include <stdio.h>int findnum(int arr[3][3], int k, int* row, int* col)//以3*3矩阵为例子,实际使用应更换{ //选择在右上角开始查找 int x = 0; int y = *col - 1; while (x <= *row - 1 && y>=0) { //所选定的数大于要查找的值,则去掉最右边的一列 if (arr[x][y]

2021-08-30 17:10:42 108

原创 自定义函数实现memcpy和memmove

自定义函数实现memcpy#include <string.h>#include <assert.h>void* my_memcpy(void* dest, const void* src, size_t num){ //断言 assert(dest && src); //返回原始dest指针 void* ret = dest; //以字节为单位进行拷贝,直到拷贝完全 while (num--) *((char*)dest)++ = *((ch

2021-08-30 16:10:54 204

原创 自定义函数实现strstr字符串查找函数

自定义函数实现strstr字符串查找函数自定义函数实现strstr字符串查找函数编译环境VS2019#include <stdio.h>#include <assert.h>char* my_strstr(const char* p1, const char* p2){ //断言 assert(p1 && p2); char* s1 = NULL; char* s2 = NULL; char* cur = (char*)p1; if (*p2

2021-08-29 11:47:49 346

原创 自定义函数实现strncmp字符串比较

自定义函数实现strncmp字符串比较自定义函数实现strncmp字符串比较不同编译环境代码可能不一样,以VS2019作为示例#include <stdio.h>#include <string.h>#include <assert.h>int my_strncmp(char* s1, char* s2, int n){ //断言,当str1和str2为空指针时报错 assert(str1 && str2); //当比较位数为0时 i

2021-08-29 10:24:03 231

原创 自定义实现strncat 字符串追加

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-08-29 10:11:19 152

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除