Static语义与full语义是什么意思?

MIT计算机编程编导的公开课视频中提到
语言的语义分为两种,1-Static的语义-判断哪些程序有意义,2-full的语义-程序有什么意义?

这段 怎么理解?

第1个回答  2016-11-03

  一、static变量分为局部变量和全局变量:

    局部变量:

    (1)静态局部变量在函数内定义,生存期为整个源程序,但作用域与自动变量相同,只能在定义该变量的函数内使用。退出该函数后, 尽管该变量还继续存在,但不能使用它。

  (2)对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值。而对自动变量不赋初值,则其值是不定的。
2.全局变量:全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。但是他们的作用域,非静态全局 变量的作用域是整个源程序(多个源文件可以共同使用); 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。

  3.static函数(也叫内部函数)

  只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用。区别于一般的非静态函数(外部函数),static在c里面可以用来修饰变量,也可以用来修饰函数。

相似回答