指向静态变量的指针和指向某个变量的静态指针之间的区别
Difference between a pointer pointing to a static variable, and a static pointer pointing to some variable
之间有什么区别吗
static int * pn;
和
int static * pn;
基本上,我在寻找指向静态变量的指针和指向某个变量的静态指针之间的区别,不确定以上两个声明是否对应。
在C中没有区别,但不鼓励使用第二种形式。
(C99,6.11.5p1)"在声明中放置存储类说明符而不是声明说明符的开头是一种过时的功能">
没有,没有区别。这里,声明说明符序列是static int
或int static
,并且声明说明符序列中说明符的顺序无关紧要。您的两个声明都具有类型"pointer to int"。
如果你足够讨厌别人,你可以做其他奇怪的事情,比如int static unsigned const* pn;
。我写了一个关于这个主题的问题/答案。
相关文章:
- 将地址分配给本地指针后,公共对象的变量将消失
- 如果非动态变量被指针引用,何时超出范围?
- 在函数结束后使用指向变量的指针是否安全?
- 有没有将变量名称转换为双指针的简短方法?
- 成员变量指针的函数参数包
- C++ - 使用变量指针调用函数
- 如何返回值为NULL的变量指针
- 在编译时以增量方式构建变量指针的向量
- C 取消实例变量指针
- 每个方法调用上都覆盖了本地变量指针
- 决定对基类的变量指针进行函数调用
- 使用 valgrind 时获得 int 变量指针的无效读取大小错误
- 变量指针的成员函数未绘制到SDL_Surface?
- 何时使用成员变量指针
- 从成员变量指针返回布尔值
- 指向C#和C++之间接口的变量指针
- c++中指向self的成员变量指针
- 为什么变量指针包含相同数据类型的地址?
- 指向用户定义类型的类的全局变量指针
- C++分配一个变量指针地址