c语言
zzuRingo
coding烧酒努力中
展开
-
[2016/11/13]c语言的细节问题:malloc和char*
1.malloc:当malloc里参数为0时,系统还是会分配空间,并不会返回NULL。返回NULL的原因只有分配内存失败。2.’/0’的问题:用char*来为字符串分配空间时,如果串的长度为len,malloc函数里的参数为len+1,多分配的一个字节用来填写/0。不填在电脑上输出的时候没问题,在oj上就挂了。还是养成这样的习惯吧。今天遇到的这两个问题都是在做十分简单的题时出现的。平时coding时原创 2016-11-13 16:34:53 · 807 阅读 · 0 评论 -
[2016/11/30]项目V1.0:计算两个氨基酸之间的中心碳原子距离和最近距离
代码功能给出若干文件,计算出文件中特定肽链中特定某几个氨基酸间的中心碳原子距离和最近距离,并输出到文件。 (输出到文件这里,并不确定怎样的数据好处理,所以还没写完,想好了补上。另外,计算特定肽链这个功能,只能在代码里改,不好,日后完善。)缺点1.链表的数据存储方式简直不能再麻烦,线性表加链表的方式更好,如果有时间再完善这个。 2.一次算完所有肽链的数据,不好。应该一条一条算,算完释放内存,再接着原创 2016-11-30 12:18:42 · 2701 阅读 · 1 评论 -
[2016/12/2]求一个32位二进制数中1的数量
思路直接位运算走起,没啥好说的。代码int hammingWeight(uint32_t n) { int num = 1; int count = 0; while(n){ if(num & n) count ++; n = n >> 1; } return count;}原创 2016-12-02 11:05:22 · 654 阅读 · 0 评论 -
[2016/12/5]判断一个int类型数是不是2的幂
题目大意如题。。记得某次实验室周赛的时候做过这道题。那个时候直接打表过的,因为最多只有31种可能。现在依然打表→_→ 但是看到了别人的一种特别巧妙的做法,就保存一下。代码class Solution {public: bool isPowerOfTwo(int n) { return n > 0 && !(n&(n-1)); }};算法原理如果一个数是2的幂(0除原创 2016-12-05 20:17:14 · 492 阅读 · 0 评论 -
[2016/12/6]计算两个大数的和
题目大意如题,两个数字都以字符串的形式被给出。返回值是字符串别人的代码觉得很简单直接就A了。。但是看了别人的方法,才发现自己的思路太繁琐,繁琐在细分了很多终止条件。其实这些条件一言以蔽之,就是下面代码while的循环条件。 下面是大神的代码class Solution {public:string addStrings(string num1, string num2) { int i原创 2016-12-06 20:35:25 · 464 阅读 · 0 评论 -
[2017/2/24]stack smashing detected问题
今天遇到了这个问题,百度了一下,说是由于数组空间分配不足引起的。另外这个问题只在有问题的函数返回后才会出现。所以用printf大法锁定了问题函数,然后重点检查了char类型数组,果然有一个开小了。以前从来没有遇到过这种问题,所以就记下来。原创 2017-02-24 09:35:32 · 603 阅读 · 0 评论 -
[2017/07/11]随手记setvbuf函数
今天看源码,看到一句setvbuf(stdout, NULL, _IONBF, 0);关于setvbuf接口,linux系统编程手册P195有介绍。其中对_IONBF这个参数,做以下解释: 不对IO进行缓冲,每个stdio库函数立刻调用write()或read(),并且忽略buf和size。可以分别指定两个参数为NULL或者0.如stderr,可以保证错误立即输出。看得一脸懵逼。其实意思就是,原创 2017-07-11 11:04:22 · 857 阅读 · 0 评论