Chinaunix首页 | 论坛 | 博客
  • 博客访问: 208243
  • 博文数量: 80
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 824
  • 用 户 组: 普通用户
  • 注册时间: 2014-06-12 21:40
个人简介

只有今天的埋头,才有明天的出头。

文章分类

全部博文(80)

文章存档

2014年(80)

我的朋友

发布时间:2014-10-13 23:23:43

野指针通常是指因为指针变量中保存的值不是一个合法的内存地址造成的。野指针不是NULL指针,是指向不可用内存的指针。NULL指针不容易用错,因为if语句很好判断一个指针是不是NULL。C语言中没有任何手段可判断一个指针是否为野指针!野指针的由来?局部指针变量没有被初始化。使用已经释放过后的指针。.........【阅读全文】

阅读(1211) | 评论(0) | 转发(0)

发布时间:2014-10-13 23:02:24

代码在可执行文件程序中的对应关系:文件布局在内存中映射:a./out后才有系统分配堆、栈堆栈段在程序运行后才正式存在,是程序运行的基础.bss段存放的是未初始化的全局变量和静态变量.data段存放的是那些已经初始化了的全局变量和静态变量静态存储区通常指程序中的.bss段和. data段..........【阅读全文】

阅读(1001) | 评论(0) | 转发(0)

发布时间:2014-10-13 22:56:10

栈在程序中用于维护函数调用上下文,没有栈就没有函数,没有局部变量。栈保存了一个函数调用所需的维护信息:函数参数、函数返回值、局部变量、函数调用上下文。为什么有了栈还需要堆?栈上的数据在函数返回后就会被释放掉,无法传递到函数外部,而堆被程序申请使用的内存在程序中释放前将一直有效,满足了程.........【阅读全文】

阅读(1171) | 评论(0) | 转发(0)

发布时间:2014-10-13 22:52:01

C中一切操作都是基于内存的,变量和数组都是内存的别名,如何分配这些内存由编译器在编译期间决定:定义数组的时候指定数组长度,数组长度是在编译期就必须决定的。程序运行过程中可能需要使用一些额外的内存空间,所以才要使用动态内存分配。malloc所分配的是一块连续的内存,以字节为单位,并且不带任何的类型信息.........【阅读全文】

阅读(1496) | 评论(0) | 转发(0)

发布时间:2014-10-13 22:48:19

C中的函数有自己特定的类型,函数的类型有返回值、参数类型、参数个数共同决定例如:int add(int i, int j)的类型为int(int, int)C中通过typedef为函数类型重命名typedef type name(parameter list)例如:typedef int f(int, int); typedef void p(int);函数指针用于指向一个函数,函数名是执行函数体的.........【阅读全文】

阅读(1048) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册