指针与内存分配 1.docVIP

  • 4
  • 0
  • 约1.22万字
  • 约 24页
  • 2018-11-03 发布于福建
  • 举报
指针与内存分配 1

指针和内存分配 1 C语言的强大功能之一是可以灵活地定义数据的存储方式。C语言从 两个方面控制变量的性质:作用域(scope)和生存期(lifetime)。 作用域是指可以存取变量的代码范围,生存期是指可以存取变量的 时间范围。 作用域有三种: 1.extern(外部的)这是在函数外部定义的变量的缺省存储 方式。extern变量的作用域是整个程序。 2.static(静态的)在函数外部说明为static的变量的作用 域为从定义点到该文件尾部;在函数内部说明为static的变量的作 用域为从定义点到该局部程序块尾部。 3.auto(自动的)这是在函数内部说明的变量的缺省存储方 式。auto变量的作用域为从定义点到该局部程序块尾部。 变量的生存期也有三种,但它们不象作用域那样有预定义的关 键字名称。第一种是extern和static变量的生存期,它从main()函 数被调用之前开始,到程序退出时为止。第二种是函数参数和auto 变量的生存期,它从函数调用时开始,到函数返回时为止。第三种 是动态分配的数据的生存期,它从程序调用malloc()或calloc()为 数据分配存储空间时开始,到程序调用free()或程序退出时为止。 2.1变量存储在内存(memory)中的什么地方? 变量可以存储在内存中的不同地方,这依赖于它们的生存期。 在函数外部定义的变量(全局变量或静态外部变量)和在函数

文档评论(0)

1亿VIP精品文档

相关文档