![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程
文章平均质量分 59
_来信
学习,总结,归纳,练习!
展开
-
提高循环的效率:折半查找算法
通过最近的看书学习,获益匪浅。下面介绍一种折半查找算法:比如我买了一双鞋,你好奇问我多少钱,我说不超过300,然后让你猜,那么你一定每次猜中间数。举个例子,若实现在主函数内,一有序数组{1,2,3,4,5,6,7,8,9,10}中寻找7在哪那么就不用一一查找,直接用这种算法,最多只计算4次。#include int main(){int arr[10] =原创 2017-07-01 10:01:55 · 876 阅读 · 0 评论 -
(*(void(*)())0)(); 是什么意思
第一次看到这个问题时,我和小伙伴的表情是这样的:仔细研究,其实可以一步一步来解读:一:假设fp是一个函数指针,那么:(*fp)();的意思就是调用这个函数,因为(*fp)就是该指针指向的函数。那如果fp是一个人指向返回值为void型的函数指针,则(*fp)();的值就是void。声明:void (*fp)();那么可以这样调用存储位置为0的:void原创 2017-10-19 10:47:45 · 1371 阅读 · 1 评论 -
c++一些入门基础,也是初学者容易卡住的地方
一:类和对象:不说那么多官方概念,我认为类就是更高级于c语言的结构体。因为它具有封装性,那么什么是封装?简单来说,类里不仅可以有变量,还可以有函数。不过这个类是声明,不占空间,,像一个模型一样的东西,那么对象就是类的实例化!我举个例子,如果会弹琴的朋友肯定知道看曲谱和真正弹奏的区别,那么类就是一个谱子,一个谱子可以弹奏多首曲子。对象就是它的实例化原创 2017-10-09 11:31:51 · 197 阅读 · 0 评论 -
time travel-c++实现日期计算器
用到了操作符重载,具体请看代码:这个功能我调试了几天,经过测试我认为没有问题,如果你发现有bug,感谢指正!class Date{public: Date(int year = 2017,int month = 10,int day = 12) { this->_year = year; this->_month = month; this->_day = day;原创 2017-10-12 09:48:47 · 431 阅读 · 0 评论 -
&p[4][2]-&a[4][2]到底等于多少?
void test(){ int a[5][5] = {0}; int(*p)[4]; p = a; printf("%p ,%p\n",&a[4][2],&p[4][2]); printf("%p ,%d\n",&p[4][2]-&a[4][2],&p[4][2]-&a[4][2]);}int main(){ test(); return 0;}参考《c语言深度剖析原创 2017-09-16 21:29:13 · 1002 阅读 · 1 评论 -
判断两个链表是否相交,若相交,求交点:1.不带环。2.有可能带环
1.假设链表不带环:判断是否相交:如果两个链表不相交,那么它们相交,情况一定是这样的:那么它们的尾节点一定是相同的,那么利用这点来写代码:int InterList(ListNode* list1,ListNode* list2)//是否相交{ ListNode* cur1 = list1; ListNode* cur2 = list2; while(cur1->nex原创 2017-09-24 17:54:13 · 338 阅读 · 0 评论 -
一道容易出错的题目(有关负数的补码)
这道题的答案是什么?#include #include int main(){ char a[1000]; int i = 0; for(i = 0; i<1000; i++) { a[i] = -1-i; } printf("%d\n",strlen(a)); return 0;}答案是255,这个255是怎么来的呢?在for循环内部,,当i原创 2017-08-13 15:37:26 · 998 阅读 · 0 评论 -
三子棋的实现
经历了一系列的错误,终于调试好了三子棋的简单实现://game.h#ifndef __GAME_H__#define __GAME_H__#include #include #include #define HEN 3#define SHU 3void init(char arr[HEN][SHU],int hen,int shu);//原创 2017-07-22 13:15:09 · 307 阅读 · 0 评论 -
总结C语言指针部分的知识
> 一级指针 > 二级指针 > 一维数组 > 二维数组 > 指针和数组的关系 > 指针数组 > 数组指针 > 函数指针 一:一级指针:指针是什么: 在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因原创 2017-08-05 19:55:40 · 286 阅读 · 0 评论 -
浅谈数组
俗话说:”不积跬步,无以至千里。“做什么事都应该一步一个脚印,取得进步,今天我来分享一些数组相关的概念知识:1.一维数组的创建和初始化 2.一维数组的使用 3.一维数组的存储 4.一维数组的指针访问 5.二维数组的创建和初始化 6.二维数组的使用 7.二维数组的存储 8.二维数组的指针访问 1.一维数组的创建和初始化:1.1创建:type_t原创 2017-07-28 12:22:56 · 196 阅读 · 0 评论 -
面试题:三级指针问题
当我第一眼看到这道题,内心是崩溃的,怎么会有这么复杂的题目,但是细心研究,自有门道。做这道题,首先应对指针数组,二级指针,三级指针有一定的了解,我的一篇文章《总结C语言指针部分的知识》里有提到。首先,来看看结果:以下是我的思路:此题可画图来分析:这个题的指向关系就是这样,通过画图解决,很明确:1.printf("%s\n", **++cpp); cpp指向c原创 2017-08-03 17:55:19 · 1336 阅读 · 0 评论 -
函数的调用过程(栈帧)
拿一段简单的代码为例:#include int Add(int x,int y ){ int z = 0;z = x+y; return z;}int main(){int a = 10;int b = 20;int c = 0;c = Add(a,b);printf("%d \n",c);return 0;}程序调试原创 2017-07-29 22:26:14 · 239 阅读 · 0 评论 -
开始为以后做打算 学习编程
我叫韩登旭,一个普通的本科生,专业是探测指导,平时喜欢指弹吉他,打球,我觉得我算是一个开朗乐观的人,哇,我觉得像是写中学的自我评价,总之,爱好挺广泛,喜欢的事情我就会做好。 大学的生活过了快两年,不知道从什么时候开始,我觉得以我掌握的这些知识,毕业后不足以找到我期望的工作,虽然我学习也不好,大一大二没有很重视,把时间用来弹琴,社交,但是我的目标还是比较高的,我希望通过我的努力,能够实现我原创 2017-06-24 08:45:17 · 447 阅读 · 0 评论 -
初识Shell脚本
说起Shell,我们并不陌生,但很多人又不能很准确的说出Shell到底是什么,所以准确认识Shell的定位,是很有必要的。一:Shell的初识 Shell的定位: Shell是一个用C语言编写的程序,它是用户使用Linux的桥梁,是一种与内核交流的外壳应用程序的统称。 这个应用程序提供了一个界面,用户通过该界面与操作系统内核交流。 Shell既是一种命令语言,又是一种编程语言。Sh...原创 2018-07-21 11:28:41 · 1573 阅读 · 0 评论