可以用指向static变量的指针,在外部修改该static变量吗

2019-12-27 19:03发布

C语言中,一个指针指向某个static变量,那么在该static变量作用域外部,可以通过指针去修改这个变量的值吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
gzcrc
1楼-- · 2019-12-28 08:29
static的声明有点多义,若在全局变量中用了了static修饰,即此变量只能在本文件中使用。如果此时用一个外文件的指针去指向它,应该修改不了。要测试一下。
miaoguoqiang
2楼-- · 2019-12-28 11:34
gzcrc 发表于 2017-5-19 16:44
static的声明有点多义,若在全局变量中用了了static修饰,即此变量只能在本文件中使用。如果此时用一个外文 ...

指向static变量的指针当然可以修改啊,只是不太规范而已。既然要外部修改又何必定义成static呢
jingzhongyue
3楼-- · 2019-12-28 14:39
指针访问应该可以,需要更改就不要声明称static了
flash3g
4楼-- · 2019-12-28 15:49
 精彩回答 2  元偷偷看……
redroof
5楼-- · 2019-12-28 17:08
miaoguoqiang 发表于 2017-5-21 12:12
指向static变量的指针当然可以修改啊,只是不太规范而已。既然要外部修改又何必定义成static呢 ...

这是典型的用法啊,其实就是不想把这个东西声明为全局变量呗。只允许外面调用接口函数得到它的指针来间接操作。
sbusr
6楼-- · 2019-12-28 17:19
最好不要用指针提供给外面的使用。可以用11楼的方法get set来实现。直接对外给指针很不安全。

一周热门 更多>