在一行中创建指向值的指针

Create pointer to value in one line

本文关键字:指针 创建 一行      更新时间:2023-10-16

我想在一行中创建一个指向值的指针;我想要与此相同的功能:

int i = MY_VALUE
int * j = &i;

然而,我想在一行中完成这项工作,而不想使用两个变量。我知道我可以做到:

int * i = new int (MY_VALUE);

但我不想使用动态记忆;我想使用静态内存。

有没有一种方法可以在一行中用一个变量静态地分配一个指向值的指针?

如果必须。。。

int i = 5, *p = &i;

否,不能有指向值的指针,只能有指向变量或对象(左值)指针。

为了详细说明,从C的角度,引用C11第6.5.3.2章中关于&算子的使用

一元&运算符的操作数应为函数指示符[]或一元*运算符,或指定不是位字段且为未使用寄存器存储类说明符声明。

所以,一些类似的东西

int * p = &10;

完全无效。