- 博客(8)
- 收藏
- 关注
原创 变量存储类型
Turbo C2.0支持四种变量存储类型。说明符如下: auto static extern register下面分别来介绍。 一、auto 仅在语句块内部使用,初始化可为任何表达式,其特点是当执行流程进入该语句块的时候初始化可为任何表达式。 二、static static称为静态变量。根据变量的类型可以分为静态局部变量
2015-06-25 14:56:56 352
转载 setjmp和longjmp
setjmp和longjmp.为了让你实现复杂的流控制,程序在系统里面运行完全依靠内存(代码段,全局段,堆存储器,栈存储器)和寄存器的内容(栈指针,基地址,计数器),setjmp保存当前的寄存器里面的内容,longjmp是恢复这些内容.longjmp返回setjmp程序当前的状态.#include int setjmp(jmp_buf env);保存当前寄存器的状态到env
2015-06-25 11:33:44 371
原创 分治法排序
#include using namespace std;#define MAX 0x7fffffff//arr[p..q]与arr[q+1..r]已经排好序,本代码将这两段排好的合起来void Merge(int *arr, int p, int q, int r){ int n1 = q - p + 1; //arr[p..q]的长度为n1 int n2 = r -
2015-06-23 20:44:19 349
原创 最大子数组-分治算法
//最大子数组问题#include using namespace std;#define MIN -1024#define MAX 0x7fffff//找跨越重点的最大字数组void FindMaxCrossingSubArray(int *arr, int low, int mid, int high, int &maxLeft, int &maxRight, int &c
2015-06-23 20:40:08 387
原创 关于如何动态创建数组
int n1 = q - p + 1; //arr[p..q]的长度为n1 int n2 = r - q; //arr[q+1..r]的长度为n2 int *L = new int[n1 + 1]; int *R = new int[n2 + 1];这样就可以创建数组而不必规定数组大小。
2015-06-23 10:00:59 346
转载 APUE.3e 安装(基于ubuntu12.0.4)(转自涛哥)
本菜刚刚学习UNIX下高级编程,无奈搭建本书编程环境时遇到不少问题。幸好网上有各种大神的解决办法让我最终解决了问题。在这里感谢为LINUX开源操作系统奋斗的大神。不过话说回来,网上大都是针对UNIX高级编程第二版的头文件搭建,现在对于第三版来说,有些过时,因为很对针对linux的make文件已经改变了很多。话不多说,下面就来看看具体的搭建过程:(本人用的操作系统是ubuntu 14
2015-06-09 22:10:43 607
原创 进程环境
1.main函数 C程序总是从main函数开始执行。main函数的原型是:int main(int argc, char *argv[]);其中,argc是命令行参数的数目,argv是指参数的各个指针所构成的数组。当内核执行C程序时(使用exec函数),在调用main函数之前调用一个特殊的启动例程。可执行文件将此启动例程指定为程序的起始地址---这是由连接编辑器设置的,而连接编
2015-06-09 20:46:44 328
原创 Access violation reading location 0xD15965C4
一、错误形式二、出错地方三、出错原因通过调试发现v没有进行内存分配,不能对其访问。再仔细检查代码后发现程序总共有8个结点,删除一个后,还剩7个,但我调用函数是访问的是第8个,结果地址指向了未知区域,所以访问有的结点是没有错误的。四、总结还是粗心了
2015-06-08 15:38:16 695
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人