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

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

文章分类

全部博文(80)

文章存档

2014年(80)

我的朋友

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

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

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

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

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

阅读(1455) | 评论(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);函数指针用于指向一个函数,函数名是执行函数体的.........【阅读全文】

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

发布时间:2014-10-13 22:41:42

C语言中的数组参数为什么会退化为指针?C语言中只会以值拷贝的方式传递参数,当向函数传递数组时将整个数组拷贝一份传入函数(错的)将数组名看做常量指针传输组首元素地址。(对的)主要由于c语言以高效为最初设计目标,在函数传递时候如果拷贝整个数组执行效率将大大下降。二维数组参数同样存在退.........【阅读全文】

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

发布时间:2014-10-12 21:37:54

!!关键字数据类型是指固定内存大小的别名char型一位short型二位int型四位,变量是指一段实际连续存储空间的别名,通过申请变量可以使用存储空间。局部变量的属性都是默认是auto的。auto只在栈上修饰局部变量。同样register也只在局部变量用。在栈上每次变量都会被释放。静态数据区不在栈上,所以处在静态数.........【阅读全文】

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

登录 注册