为了了解local、global等暂元在程序内部的运作原理,做如下实验:
定义两个变量,一个是所谓的“本地”,一个是“全局”,利用
显示程序中所有宏变量:
接着定义程序:
很简单,把全局的、本地的都给我显示出来:
之后在程序中定义此program并运行:
发现全局的没问题,本地的却没显示!
回到上面一张图,发现全局的、本地的变量名称是不一样的,本地的前面其实是有一个“_”的,更改程序如下:
运行:
还是一样。。故得出结论:程序中的local变量是访问不到的,除非是global变量。
这个也很容易理解,如果学过对象编程,就可以把程序中的local变量看成是私有变量,其他程序是访问不到的,只有程序层能访问到,而global为全局变量,所为全局就是大家都能访问到,程序也是可以的
对此,作出另一组实验:
截图:
输出是达到预期的,而且在后面的macro list中可以看到全局变量多了一个gg_1,而本地变量ll_1是没有增加的。