c语言中一个变量可以多次声明吗,C语言学习笔记(一)变量声明的规则

声明是告诉编译器有这么个变量,但并不实现。定义就是实现这个变量,真正在内存(堆或栈中)为此变量分配空间

它们的本质区别是:是否分配内存空间,定义需要分配空间,声明不需要分配空间。

int i;

声明一个i,告诉编译器有一个i

i = 0;

定义i,开辟内存;

int i = 0;

声明和定义同时;

一个完整的变量声明如下:

static const unsigned int a;

其中,static 叫做存储类型

const 叫做类型限定符

unsigned int 叫做类型说明符

a 叫做声明符或者标示符

存储类型有 auto static extern register

类型限定符有 const volatile

类型说明符就是关键字

声明符就不用多说了

存储类型包含了变量的三种属性:生命周期,作用域,是否可被其他文件使用

auto类型的变量,定义在函数外部,作为全局变量时,生命周期是整个程序运行过程,作用域是从声明处到文件结束位置,可以被其他文件使用

定义在函数内部,作为局部变量时,生命周期是整个函数运行过程,作用域是函数体内部,不能被函数体外的部分使用

static类型的变量,定义在函数外部,作为全局变量时,生命周期是整个程序运行过程,作用域是从声明处到文件结束位置,只能被本文件使用

你可能感兴趣的:(c语言中一个变量可以多次声明吗)