C语言
文章平均质量分 64
一块钱硬币2015
纸上得来终觉浅,绝知此事要躬行。
展开
-
编写高效的C程序与C代码优化
当前位置:首页 > 编程 > 编程语言 > C/C++编程 > 正文但文章中的代码格式没有排版,不方便查看,而且有部分翻译错误以及其他错误,这篇文章除了参考原文和译文,也加入了自己的一些理解和代码,虽然是一篇2006年的文章,但是其中的一些技巧还是挺值得学习的,特重新整理出来与大家分享。虽然对于优化C代码有很多有效的指导方针,但是对于彻底地了解编译器和你原创 2016-04-26 22:48:00 · 4722 阅读 · 0 评论 -
C/C++的四大内存分区
导读正确的理解C/C++程序的内存分区,是合格程序猿的基本要求。 综合对比,查阅相关资料,提出自己对C/C++程序的内存分区的认识。可划分为四大内存分区:堆、栈、静态存储区和代码区。堆区: 由程序猿手动申请,手动释放,若不手动释放,程序结束后由系统回收,生命周期是整个程序运行期间。使用malloc或者new进行堆的申请,堆的总大小为机器的虚拟内存的大小。 说原创 2016-10-20 23:29:20 · 318 阅读 · 0 评论 -
C语言中堆和栈的区别
C语言中堆和栈的区别一.前言:C语言程序经过编译连接后形成编译、连接后形成的二进制映像文件由栈,堆,数据段(由三部分部分组成:只读数据段,已经初始化读写数据段,未初始化数据段即BBS)和代码段组成,如下图所示:1.栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量等值。其操作方式类似于数据结构中的栈。2.堆区(heap):一般由程序原创 2016-10-20 22:46:35 · 314 阅读 · 0 评论 -
C语言 sizeof(struct)讲解
struct MyStruct { double dda1; char dda; int type }; 对结构MyStruct采用sizeof会出现什么结果呢?sizeof(MyStruct)为多少呢?也许你会这样求: sizeof(MyStruct)=sizeof(double)+sizeof(char)+sizeof(int)=13 但是当在VC中测试原创 2016-10-20 22:39:49 · 7318 阅读 · 0 评论 -
求子数组最大和
求子数组的最大和题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。因为是O(N)的复杂度,因此需采用的DP的思想,原创 2016-10-17 14:51:29 · 398 阅读 · 0 评论 -
【推导】求有环单链表中的环长、环起点、链表长
求有环单链表中的环长、环起点、链表长1.判断单链表是否有环 使用两个slow, fast指针从头开始扫描链表。指针slow 每次走1步,指针fast每次走2步。如果存在环,则指针slow、fast会相遇;如果不存在环,指针fast遇到NULL退出。 就是所谓的追击相遇问题: 2.求有环单链表的环长 在环上相遇后,记录第一次相遇点为Pos,之后指针slo原创 2016-09-23 21:46:05 · 356 阅读 · 0 评论 -
关于sizeof
//#include #include #includeusing namespace std;struct{ short a1; short a2; short a3;}A;struct{ long a1; short a2;}B;int main(void){ char *ss1 = "0123456789"; char ss2[] = "012345原创 2016-08-18 14:22:24 · 296 阅读 · 0 评论 -
浅谈C++中指针和引用的区别
指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法。1.指针和引用的定义和性质区别:(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。如:int a=1;int *p=&a;int a=1;int &b=a;原创 2016-08-18 10:16:14 · 257 阅读 · 0 评论 -
判断二进制数1的个数
#include using namespace std;int func (int x){ int count = 0; while (x) { count ++; x = x&(x-1); } return count;}原创 2016-04-10 14:59:16 · 326 阅读 · 0 评论 -
typedef和#define的用法与区别
typedef和#define的用法与区别转:http://www.cnblogs.com/kerwinshaw/archive/2009/02/02/1382428.html一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef int INT;原创 2016-10-20 23:50:44 · 221 阅读 · 0 评论