1.关于变量类型与存储方式
变量类型分为:局部变量、全局变量
局部变量:在函数开头定义、在函数内的复合语句内定义的变量;
全局变量:在函数之外定义的变量;
变量类型
定义
作用范围
局部变量
在函数开头定义、在函数内的复合语句内定义的变量
本函数范围内、本复合语句范围内
全局变量
在函数之外定义的变量
从定义变量的位置开始到本源文件结束
存储方式和生存期:
存储类型
变量类型
定义
存储方式
生存期
自动auto
动态局部变量
函数中局部变量不特意声明为静态存储类别,则都是动态存储
动态存储区
调用函数时,系统给变量自动分配动态存储空间,调用结束自动释放这些空间
静态static
静态局部变量
希望函数中的局部变量的值在函数调用结束后不消失而继续保留原值
静态存储区
整个程序运行期间
寄存器register
XXX
将局部变量的值放在CPU寄存器中
寄存器
XXX
外部extern
静态全局
将外部变量扩展到本源文件靠前位置或者扩展到其他源文件。
静态存储区
整个运行期间
2.函数的内部和外部调用
函数在声明时本身就是外部函数,它默认就可以被其他源文件进行调用,如果不想被其他文件调用,需要在声明该函数时添加static关键词。对于函数被其他文件调用,可以利用函数原型来扩展函数的调用范围,一般有2种方:
第一种是用extern关键词,在想要调用该函数的文件中用(extern +函数原型)的方式来表明将该函数的作用域扩展到该文件;
第二种是用#include<XXX.h>方式指定包含定义有要调用函数的原型的头文件。
转载请注明原文地址: https://ju.6miu.com/read-14349.html