笔记
编程学到死
大学生,自学python/c/c++中,有c的基础,发布自学笔记,用尽可能无术语的方式分享自己的理解,希望和我一样的自学者能少走一些弯路
展开
-
c++语言学习:深浅拷贝的探究
对于拷贝构造函数,也有深拷贝与浅拷贝两种:那么深浅拷贝到底有什么不同呢首先来看看我的理解:浅拷贝:对对象的值进行复制,无论是值或指针都进行复制,可能导致在析构时重复释放同一片空间深拷贝:将对象的内容进行复制,值复制,若是指针,则重新申请空间复制指针指向的内容,防止重复释放的发生那么,他们在代码上的区别呢?我们先定义一个类Temp:class Temp{public: Temp(); ~Temp(); Temp(const Temp& T); private: int* _原创 2021-09-16 17:50:46 · 84 阅读 · 0 评论 -
计算机原理学习---1.计算机编码
知识总结:二进制1)二进制能表示信息(1、0开关,鼓声传信)2)二进制能表示无限多的信息(摩尔斯编码、盲文,指数爆炸)3)每个二进制数表示一种符号(ASCII)4)10->2 除二得余; 2->10 二的N个次方之和...原创 2021-08-21 23:53:28 · 125 阅读 · 0 评论 -
计算机内,二进制小数的表示方法
我们都知道,十进制的小数可以用科学计数法表示成如下样子那么二进制的小数如何用科学计数法呢?首先,依葫芦画瓢:(计算机中的小数分为单精度float和双精度double)指数的范围如下最重要的就是尾数部分:综上,二进制小数的表示方法就完成了举个栗子:1101.1011 = 1.1011011 * 23...原创 2021-08-20 17:01:07 · 1721 阅读 · 0 评论 -
c语言基础:关于数组中arr与arr[0]的同异的思考
在敲代码的时候,我发现了这样的一件事:int arr[16] = { 0 };printf("%d", sizeof(arr));而这个程序的结果也很正常64这就是整个数组的大小但是在这里,我就有一个疑问了:在arr作为数组的头指针时,它的地址和arr[0]相同,并且内容也相同,同时arr还能通过++,–,等操作,去访问其他的数组空间;所以,arr不应该是代表单一的一个数组内的空间,就和arr[0],arr[1]…一样吗。于是,如下我做了这样的尝试:printf("%p %p\n", a原创 2021-07-15 17:32:05 · 3039 阅读 · 3 评论 -
c语言基础:关于调用外部全局变量的作用域的探究
在学习c语言的基础时,我看见了这样一句话:全局变量的作用域是整个工程,且在调用外部全局变量时,需要使用extern声明该变量为外部全局变量。于是我产生了这样的一个疑问:使用extern调用外部全局变量时,他的作用域是整个源文件,还是一个代码块。为此,我做了下面的实验:在工程中建立一个data.c的源文件,并写下如下代码:int num = 10;之后我在另一个源文件中进行测试。第一次:#include<stdio.h>int main(){ { extern int n原创 2021-07-14 16:42:25 · 401 阅读 · 0 评论 -
最大子数组(线性时间算法)
最大子数组(线性时间算法思路)从头系统学习算法个人随想习题来源:算法导论4.1-5在题干中写道,已知[1…j]的最大子数组,则[1…j+1]的最大子数组或者来源于[1…j]的最大子数组,或者来源于[i…j+1]的最大子数组(1<=i<=j+1)。一开始,我对这段话的第一反应是动态规划,f(i,j)表示[i…j]之间的最大子数组,但是想了很久,没有想出来一个正常的状态转移方程(可能有吧,我太菜了)。后来,看了大佬对这种算法的解释,我就如醍醐灌顶一般,明白了线性算法的思路。先放代码,再解释原创 2021-05-22 16:48:30 · 367 阅读 · 0 评论