随笔 - 454  文章 - 2 评论 - 43 trackbacks - 0

摘要: CPU 访问内存时需要的是地址,而不是变量名和函数名!变量名和函数名只是地址的一种助记符,当源文件被编译和链接成可执行程序后,它们都会被替换成地址。编译和链接过程的一项重要任务就是找到这些名称所对应的地址。阅读全文
posted @ 2018-06-21 14:59 陶士涵 阅读(10) 评论(0) 编辑
摘要: 1.创建头结点,头结点的next指向null 2.把头结点赋值给一个中间变量 3.循环中创建结点, 中间变量的next指向新结点 4.新结点覆盖中间变量 c语言版: go语言版: php语言版:阅读全文
posted @ 2018-06-11 11:31 陶士涵 阅读(32) 评论(0) 编辑
摘要: 1. 先创建一个头结点,不需要有数据域,头结点的next指向null 2.循环中创建结点,把头结点的next赋值给 新结点的next,相当于新结点的next指向了(头结点next所指向的) 3.把新结点赋值给头结点的next ,相当于头结点的next指向了新结点,这样就串起来了 4.头结点就相当于整阅读全文
posted @ 2018-06-10 20:30 陶士涵 阅读(12) 评论(0) 编辑
摘要: 题目描述 给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串“abcdef”前面的2个字符'a'和'b'移动到字符串的尾部,使得原字符串变成字符串“cdefab”。请写一个函数完成此功能,要求对长度为n的字符串操作的时间复杂度为 O(n),空间复杂度为 O(1)。 分析与解法阅读全文
posted @ 2018-06-08 16:50 陶士涵 阅读(21) 评论(0) 编辑
摘要: 1.一个字符串是一个不可改变的字节序列2.文本字符串通常被解释为采用UTF8编码的Unicode码点(rune)序列3.内置的len函数可以返回一个字符串中的字节数目4.第i个字节并不一定是字符串的第i个字符,因为对于非ASCII字符的UTF8编码会要两个或多个字节5.字符串操作基于原始字符串字节6阅读全文
posted @ 2018-06-08 16:31 陶士涵 阅读(24) 评论(0) 编辑
摘要: 题目描述 给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串“abcdef”前面的2个字符'a'和'b'移动到字符串的尾部,使得原字符串变成字符串“cdefab”。请写一个函数完成此功能,要求对长度为n的字符串操作的时间复杂度为 O(n),空间复杂度为 O(1)。 分析与解法阅读全文
posted @ 2018-06-07 22:33 陶士涵 阅读(31) 评论(1) 编辑
摘要: vim按d表示剪切按dd剪切一行vim命令:命令模式 /关键字 n继续向下查找 vim的多行注释:1.按ctrl + v进入 visual block模式2.按上下选中要注释的行3.按大写字母I,再插入注释符,例如//4.按两下esc5.按ctrl + v进入 visual block模式,按箭头选阅读全文
posted @ 2018-06-07 14:27 陶士涵 阅读(70) 评论(0) 编辑
摘要: c语言字符数组和字符串:1.存放字符的数组称为字符数组 char str[]2.'\0'也被称为字符串结束标志3.由" "包围的字符串会自动在末尾添加'\0'4.逐个字符地给数组赋值并不会自动添加'\0'5.局部变量初始化为零值会自动添加结束标志6.直接使用一个指针指向字符串的形式 char* st阅读全文
posted @ 2018-06-07 11:17 陶士涵 阅读(13) 评论(0) 编辑
摘要: Goroutines和线程: 1.动态栈: 1)线程都有一个固定大小的内存块(一般会是2MB)来做栈 2)一个goroutine会以一个很小的栈开始其生命周期,一般只需要2KB,不是固定的;栈的大小会根据需要动态地伸缩 2.Goroutine调度: 1)线程是使用硬件定时器进行的调度,速度慢 2)G阅读全文
posted @ 2018-05-24 10:31 陶士涵 阅读(18) 评论(0) 编辑
摘要: 1.go test命令是一个按照约定和组织进行测试的程序2.竞争检查器 go run -race 附带一个运行期对共享变量访问工具的test,出现WARNING: DATA RACE 说明有数据竞争3.理想情况下是应该避免掉多余的工作的,称为duplicate suppression(重复抑制/避免阅读全文
posted @ 2018-05-23 11:00 陶士涵 阅读(59) 评论(0) 编辑