自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 宏使用的相关题目

1)写一个宏,计算结构体中某变量相对于首地址的偏移,并给出说明#include <stdio.h>#define OFFSETOF(id ,element) (unsigned long)(&(((struct id*)0)->element))void main(){ struct Person { char sex ; int n; }; OFFSETOF(Person, sex); printf("%d\n",OFFSETOF(Person,

2021-05-04 00:37:43 161 1

原创 找单身狗

题目简述:一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。编写一个函数找出这两个只出现一次的数字。#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <ctype.h>void find_two_dif_num(int ar[], int sz, int *a,int *b){ int i = 0;//循环变量 int pos = 0;//位置标记变量

2021-05-03 22:38:06 137 2

原创 常见库函数模拟实现及注意事项

1.常见字符串管理库函数1)strlen,这个函数的方法有很多种实现方式,分别如下size_t my_strlen4(const char *str){ assert(str != NULL); //一般参数若为const型指针时不需要对参数检测,但思想得有 if (*str == '\0') return 0; else //此处若为my_strlen4(str++)+1,就陷入死循环了 return my_strlen4(str + 1) + 1;//此处若为my_strlen

2021-05-03 17:44:59 159 2

原创 接口继承与实现继承的区别

在了解这个概念前,需要了解这么几个概念。纯虚函数,虚函数,非虚函数纯虚函数:被声明为纯虚函数的类一定是作为基类来使用的,含有纯虚函数的类被称为抽象类,抽象类不能实例化对象。因此纯虚函数一般用来声明接口。其派生类必须实现这个函数。纯虚函数在基类中可以有函数实现,也可以没有。声明纯虚函数的原因是,在基类往往不合适进行实例化,比如一个shape类,中的draw方法。必须为纯虚函数,因为他不是任何一种形状。虚函数:在基类中声明为vitual,并在一个或者多个派生类中被重新定义的函数。虚函数用于提供一类操作的

2021-04-20 11:34:01 443 3

原创 C/C++中const的作用

总结下来主要有4点:修饰变量,说明该变量不可以改变。修饰指针,分别指向常量的指针和指针常量。常量引用,多用于形参类型,既可以避免拷贝,又可以防止函数对值的修改。在类中修饰成员函数,说明该成员函数不能访问和修改成员变量。#include <iostream>using namespace std;// 类class A{private: const int a; // 常对象成员,只能在初始化列表赋值public: // 构造函数 A

2021-04-19 14:57:04 116 2

原创 C++多态实现中的虚函数

一、概念: 在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,用法格式为:virtual 函数返回类型 函数名(参数表) {函数体};实现多态性,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。二、定义 简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异,而采用不同的策略。#i

2021-04-18 09:50:32 412 6

原创 模拟实现strcmp函数

#pragma warning(disable:4996) #include <stdio.h>#include <string.h>#include <assert.h>int my_strcmp(const char *a, const char *b){ assert(a != NULL&&b != NULL); const char *tmpd = a; const char *tmps = b; int ret = 0; w.

2021-04-17 23:44:24 196 3

原创 模拟实现strcpy函数

//模拟实现strcpy#include <stdio.h>#include <string.h>#include <assert.h>char* my_strcpy(char *a, const char *b){ assert(a != NULL&&b != NULL);//检测参数的有效性 char *tmpd = a; //保护参数 const char *tmps = b; while (*tmps !

2021-04-17 22:00:11 148 1

原创 strlen的多种实现

#pragma warning(disable:4996)//模拟实现strlen库函数#include <stdio.h>#include <string.h>#include <assert.h>//用递归实现strlensize_t my_strlen(const char *str){assert(str != NULL);if (*str == ‘\0’)return 0;elsereturn my_strlen(str + 1) + 1

2021-04-17 13:27:07 135 1

原创 模仿qsort的功能实现一个通用的冒泡排序算法

按由大到小的顺序排序,代码如下#pragma warning(disable:4996)//模仿qsort的功能实现一个通用的冒泡排序#include <stdio.h>int comp(const void* a,const void* b)//判断两个数的大小{return (int)a - (int)b;}void my_swap(int *a, int *b)//交换两个数{int tmp = *a;*a = *b;*b = tmp;}//冒泡排序实现两个数据

2021-04-16 15:32:37 139 1

原创 猜名次

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果:A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。代码如下:运行结果:...

2021-04-15 15:28:37 139

原创 怎样更好理解计算机高级语言中的宏定义

宏定义该如何理解?1.不带参数的宏定义:2.带参数的宏:1.不带参数的宏定义:宏定义又称为宏代换、宏替换,简称“宏”。格式:#define 标识符 字符串其中的标识符就是所谓的符号常量,也称为“宏名”。预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。掌握"宏"概念的关键是“换”。一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”。即在对相关命令或语句的含义和功能作具体分析之前就要换:例:#define PI 3.1415926把程序中出现的PI全部换成3.1415926

2021-04-05 12:09:19 243 2

原创 C++如何展现它使用栈时的优势

C++在实现一个栈优于C语言的三大方面新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入#C语言实现栈的过程#include <stdion.h>typedef int STDateType;struct

2021-03-21 23:27:15 270

空空如也

空空如也

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

TA关注的人

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