- 博客(61)
- 收藏
- 关注
原创 C++友元函数
先解决一个“历史遗留”问题 前面我们在写类和对象总结时提出了一个问题:如何访问私有成员? 当时我们只给出了两种解决方案:一种是通过设置一个共有的成员函数接口来访问,另一种是通过指针来访问。 今天给出第三种解决方案:通过友元函数来访问私有成员。class Date{ friend void PrintInfo(const Date& d); //声明友元函数publ...
2018-07-30 15:57:21
289
原创 C++总结二----this指针 & 六个成员函数
This指针在C++总结的第一篇博文当中我们在讲函数重载部分时提到过this指针,接下来我们就跟着博主一起深入的去了解到底什么是this 指针。我们知道,每个对象的数据成员都分别占有存储空间,如果对同一个类定义了n个对象,那么就会有n组同样大小的空间可以存放n个对象中的数据成员。那么问题来了,当不同对象的成员函数引用数据成员时,编译器怎么能保证引用的就是所指定的对象的成员呢? 先看个例子...
2018-07-29 10:27:04
717
1
原创 C语言实现通讯录
今天写一个简单的C语言小项目,简易的通讯录:通讯录可以用来存储1000个人的信息,每个人的信息包括: 姓名、性别、年龄、电话、住址 通讯录包含的功能: 1. 添加联系人信息 2. 删除指定联系人信息 3. 查找指定联系人信息 4. 修改指定联系人信息 5. 显示所有联系人信息 6. 清空所有联系人 7. 以名字排序所有联系人 实现原理:利用C...
2018-07-27 19:37:18
575
原创 C++总结三----静态成员,const修饰类成员,内联函数
非常感谢您能参观我的博客,有什么想法请留言,必回。一 · 静态成员我们知道全局变量能够实现数据共享,如果在多个程序文件中有多个函数,每一个函数中都可以来改变全局变量的值,但是这样做是不安全的,如不小心改错就会导致程序崩溃,因此在实际运用中很少用到全局变量。 但是有时候我们就是要用到多个对象之间实现数据共享,除了全局变量,就是我们今天要提到的静态成员。1.1 静态数据成员class...
2018-07-26 21:08:01
526
原创 类和对象总结一
写这个博客之前我不得不再说一下C语言和C++的区别了。我们都知道C语言是一个面向过程的语言,而C++是一门面向对象的语言。那么,到底什么是面向过程,什么又是面向对象呢? (为了简化博客长度,我们插一个关于这两个的区别的链接,这里不再赘述) https://blog.csdn.net/zqixiao_09/article/details/50548316对象:客观世界里的一切事物都可以看作是...
2018-07-22 21:57:01
5465
3
原创 浅谈C++函数重载和引用
单看名字就可以知道,C++就是C语言的升级版,也常叫做C Plus Plus,是一门面向对象的语言,而C语言则是一门面向过程的语言,这里我们简要介绍一下面向对象和面向过程的区别。面向对象:简单来说就是把一个问题分成多个对象,强调解决问题的行为表现。面向过程:面向过程就是分析问题和解决问题的步骤和方法。举一个生活中很常见的例子:...
2018-06-20 23:12:04
3159
2
原创 三子棋小游戏(C语言)
我们在C语言阶段,学的差不多就应该有能力写一些小游戏来检测我们C语言到底学的咋样,恰巧三子棋和扫雷应该是每一个程序员都会的,简单的C语言小游戏。拿到这个题目,我们首先应该要有一个清晰的思路,三子棋我们应该都是很熟悉的,就是一个简单的棋盘,然后需要两个人对弈,一人走一步,谁先将三颗棋子连成一条线谁就是赢家。然后,我们就应该动手操作我们的代码了。首先当然是建立一个工程,然后建立三个文件,gam...
2018-06-18 16:29:45
537
原创 深入理解 指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针
看到小猿的题目是不是开始怀疑自己学了个假c语言! 一个指针竟然有这么多用法,绕来绕去的,是不是有些头晕目眩呢,别怕,小猿这就来拯救你。首先,提三个问题 1、什么是数组? 2、什么是指针? 3、指针和数组之间有哪些关系?好,先解决第一个问题。 ① 什么是数组: 简单的理解数组就是存储相同类型数据的一个集合 例如:int array[10]={1,2,3,4},这就是一个简单的数组...
2018-04-18 15:45:49
513
1
原创 数据结构之栈及栈的应用(括号匹配问题)
栈简介:栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一段称为栈顶,另一端称为栈底。不含任何元素的栈称为空栈,其特点为 先进后出。 栈功能:可以将数据从一种序列变为另一种序列 注:图片来自网络 #pragma once#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>...
2018-04-11 15:43:31
335
原创 数据结构之链表面试题(约瑟夫环,判断链表带环求交点问题)
#pragma once#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#include <assert.h>typedef int DataType;typedef struct Node{ struct Node* _pNext; ...
2018-04-11 15:30:42
239
原创 数据结构之链表面试题:复杂链表的复制
话不多说直接上代码,如果有什么问题请在后台留言,必回,谢谢支持#pragma once#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#include <assert.h>typedef int DataType;typedef struct Com...
2018-04-11 15:27:19
141
原创 C语言知识点小结

这里写代码片#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#define MAX_SIZE 10 typedef unsigned int size_t;typedef...
2018-03-24 20:53:45
354
转载 数组和指针的区别
本文转载自http://blog.csdn.net/imred/article/details/45441457实际上关于数组与指针的区别这个问题在《C专家编程》已经有很详细的阐释,但我想用自己的语言说一说我的理解。数组是指针?最近在做数据结构课设,其中一个函数发生了令人费解的错误,简化后的代码如下:#include <stdio.h>int main(){ char fo...
2018-03-16 19:54:28
175
原创 判断一个字符串是否为另外一个字符串旋转之后的字符串。
题目要求:判断一个字符串是否为另外一个字符串旋转之后的字符串。例如: 给定s1 = ABCD和s2 = BCDA,如果s1=s2,返回1,不等于则返回0.(长度和字母相同)代码如下: #define _CRT_SECURE_NO_WARNINGS 1#include #include #include int Is_left_rev(char *arr,char *p){
2018-02-01 12:56:03
149
原创 左旋字符串
题目要求:实现一个函数,可以左旋字符串中的k个字符。(右旋字符串同理)例如:ABCDE左旋两个字符串得到CDEAB代码如下(编译环境为VS2013):#define _CRT_SECURE_NO_WARNINGS 1#include #include #include #include//三步翻转法//void reverse(char *left,char*righ
2018-02-01 11:39:33
178
原创 调整数组,使得奇数在前偶数在后
题目要求:输入一个整数数组,实现一个函数,来该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。分析:最常用的的双指针法,设置两个指针p1,p2初始化指向数组的第一个数和数组的最后一个数。总的有以下四种情况 (1)如果p1指向的数为奇数则p1向后移到一位,如果p2指向的数是偶数则p2向前移到一位。 (2)如果p1指向的数为奇数则p1向后
2018-01-29 16:05:06
596
原创 杨氏矩阵
题目要求://杨氏矩阵 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N); (题目出自剑指offer,曾经是华为的面试题)例如:数组: 1 2 3 4 5 67 8 9 代码如下:#define _CRT_SECURE_NO_WARNINGS 1#include#include //方法一:最简
2018-01-29 14:58:20
230
原创 扫雷小游戏
//test.c#define _CRT_SECURE_NO_WARNINGS 1#include "game.h"void menu(){ printf("*******************************\n"); printf("*****1.play 0.exit****\n"); printf("***********************
2017-12-16 19:36:41
216
原创 判断输入任意的数字是否为素数
判断素数:基本判断思路在一般领域,对正整数n,如果用2到 之间的所有整数去除,均无法整除,则n为质数。质数大于等于2 不能被它本身和1以外的数整除。#define _CRT_SECURE_NO_WANINGS 1#include #include int main(){int i, n, m;printf("please e
2017-11-10 21:21:13
2277
原创 打印九九乘法口诀表
法一:#define _CRT_SECURE_NO_WARNINGS 1#includeint main(){int i, j, result;for (i = 1; i {for (j = 1; j {result = i*j;printf("%d*%d=%-3d ", i, j, result);}printf("\n");}retu
2017-11-10 20:36:38
799
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅