c - 我可以通过其他文件中的指针来操作文件范围变量/数组吗?
问题描述
交流电
static int var;
int* getVar(void)
{
return &var;
}
啊
int* getVar(void);
公元前
#include "A.h"
int main(void)
{
int* ptr = getVar(void);
*ptr = 3;
return 0;
}
如题。我可以通过其他文件中的指针来操作文件范围变量 var 吗?
谢谢。
解决方案
这是完全有效的。这是否是一个好主意是一个单独的问题(在某些特定情况下可能是)。
只要取消引用时指针指向的对象仍然存在,访问就有效。由于这是一个全局变量,指向的对象(即static int var
变量)将一直存在,因此访问是完全有效的。
推荐阅读
- azure - 尝试在 Azure CLI 中获取 Azure IoT 中心的连接字符串时出错
- kubernetes - 从 Kubernetes 集群中安全关闭节点
- c++ - 我们可以在封闭类模板实例化之后声明模板类成员的部分特化吗?
- angular - Angular 多个 http.get 请求
- facebook-graph-api - Facebook“开始”按钮不再出现在我的聊天机器人中
- php - Laravel 中的原生 php 会话 $_SESSION
- javascript - 如何动态更改固定位置样式 - 使用 JavaScript。设置位置名称、值
- django - 在 Django 中拥有 order_by 和不同列的最佳方法?
- javascript - 可以在单个页面上多次使用的 css js 滑块
- database - 创建表时的Drupal错误