C语言中有哪些存储类型

C语言中有哪些存储类型,第1张

四种变量存储类型。说明符如下:

auto static extern register

一、auto

auto称为自动变量。

局部变量是指在函数内部说明的变量(有时也称为自动变量)。用关键字auto进

行说明, 当auto省略时, 所有的非全程变量都被认为是局部变量, 所以auto实际上

从来不用。

二、static

static称为静态变量。根据变量的类型可以分为静态局部变量和静态全程变量。

1 静态局部变量

它与局部变量的区别在于: 在函数退出时, 这个变量始终存在, 但不能被其它

函数使用, 当再次进入该函数时, 将保存上次的结果。其它与局部变量一样。

2 静态全程变量

Turbo C将大型程序分成若干独立模块文件分别编译, 然后将所有模块

的目标文件连接在一起, 从而提高编译速度, 同时也便于软件的管理和维护。静态

全程变量就是指只在定义它的源文件中可见而在其它源文件中不可见的变量。它与

全程变量的区别是: 全程变量可以再说明为外部变量(extern), 被其它源文件使用,

而静态全程变量却不能再被说明为外部的, 即只能被所在的源文件使用。

三、extern

extern称为外部变量。为了使变量除了在定义它的源文件中可以使用外, 还要

被其它文件使用。因此, 必须将全程变量通知每一个程序模块文件, 此时可用

extern来说明。

四、register

register称为寄存器变量。

可以用realloc函数

原型:void

realloc(void

p,

unsigned

int

size);

作用:P是指向想要扩充内存的存储单元的指针,对给定的指针

p

所指的空间进行扩大或者缩小,size

新的目标大小。

无论是扩张或是缩小,原有内存中的内容将保持不变。

当然,对于缩小,则被缩小的那一部分的内容会丢失。

realloc

并不保证调整后的内存空间和原来的内存空间保

持同一内存地址。相反,realloc

返回的指针很可能指向

一个新的地址。

若分配失败,则返回空指针NULL。

例:T=(ElemType

)malloc(3sizeof(ElemType));

p=(ElemType

)realloc(T,

6sizeof(ElemType));

其中ElemType是指某一种数据类型

以上就是关于C语言中有哪些存储类型全部的内容,包括:C语言中有哪些存储类型、c语言编程中数据存储空间不足时应该怎样修改程序语句、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9598501.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存