由于某种原因,我想为struct成员中的double指针赋值。 我有3个成员的结构,第一个是int,第二个是指向该int的指针,第三个是双指针,它指向第二个成员(指向指针)。 第三位成员也不知道如何定义。 这是来源:

#include <iostream.h>

typedef struct {
    int a;
    int *b;
    int **c;
} st;

st st1, *st2 = &st1;

void main(){
// first define a member  
    st1.a = 200;
// second assign b pointer member to a
    st2->b = &st1.a;
// third assign c pointer member to b (but that don't work)
    *(st2)->c = st2->b;
}

操作系统:Win 7,64,C ++(C ++ Builder 2010)

===============>>#1 票数:2

尝试这个:

st2->c = &st2->b;

分配指针到指针与分配指针到int完全相同。 您只需为其提供指针的地址,而不是int的地址。

===============>>#2 票数:1 已采纳

typedef struct {
    int a;
    int *b;
    int **c;
} st;

st mySt;

void main() {
    mySt.a = 200;
    mySt.b = &mySt.a;
    mySt.c = &mySt.b;
}

在最后一次赋值后,您将获得字段b的地址(即指针),因此它是指针的地址,然后正确地将字段c初始化为指向指针的指针。

  ask by Ivan Pericic translate from so

未解决问题?本站智能推荐:

1回复

如何访问使用双指针动态分配的结构的字符串成员

我可以访问具有整数类型成员的双指针结构部分,但是无法访问字符串类型的成员 尝试打印注释掉的部分时出现分段错误,所以我注释掉了。 谢谢。 另外,最后的输出不会打印出任何要输出的内容吗? 输出:
2回复

从结构访问双指针并在execvp中使用它

我试图在这样的结构中声明一个char指针和一个double char指针: 我在主程序中声明了该结构的数组,然后解析字符串的输入并将其标记化并将它们传递给此结构。 在主程序中,我调用一个函数来创建本质上派生一个孩子的进程。 我将这些字符串标记传递给execvp,如下所示: 此
2回复

C ++双指针成员访问

C ++(Arduino包装)问题:我正在Arduino上编写一个连接LCD的射击游戏 - 我有一个基类( Sprite ),并从其他类派生 - Alien , Missile和Player 。 Alien类的构造函数也有私有成员pMissile (一个指向Missile类的指针) -
1回复

从main中的双指针函数打印出指针数组

这是从我的.hpp文件。 以下是我的.cpp文件中的部分功能。 我真的对在main.cpp文件中打印堆栈数组感到困惑。 我怎样才能做到这一点? 现在我到了,但是只能打印出地址。
1回复

在C ++中取消分配双指针时出错

我必须建立一个杜鹃哈希表。 当取消分配“完整”哈希表以便调整它们的大小并重新哈希所有值(从ints的外部文件中)时,出现错误: 我对双指针不是很熟悉,但是代码在使用它们之前一直工作得很好,直到我尝试解除分配为止,具体操作如下: 我在代码中有一行( cout.ignore() )
2回复

c ++在创建新结构时如何为成员指针赋值NULL

我正在使用链表编写一个运行长度编码项目。 每当我使用new创建一个Node时,它是否可能next有值NULL ? 我有 和 我需要它为NULL所以我可以检查我是否已到达列表的最后一个Node 。
2回复

关于指针的c / c ++问题(双指针)

所以我用了c和c ++的课程已经有一段时间了,我对c指针很好奇(我想在我的例子中使用new关键字,甚至认为我知道malloc是C方式)。 我总是记得我的老师总是强迫我们使用指针,她永远不会对数组进行任务,她向我们证明了当你使用指针而不是使用数组时,汇编语言中需要的命令较少。 我想继续这种良好
3回复

如何从Java发送socket C ++兼容结构?

假设已经编写了不可更改的宿主程序,它通过socket接收这样的C ++结构: 平台:在Visual Studio 2008中编译的C ++ / 32位Windows应用程序 如何从Java Socket发送这样的数据? 我已经注意用putDouble()填充ByteBuffer,
1回复

指向struct成员变量的指针

我想有一个方法,当subName与给定的文本匹配时,该方法将返回指针subName 。 例如: 可能吗?? 还是有其他方法可以达到预期的效果?
2回复

无法使用双指针反转数组

我在学校作业中遇到了一些问题,我们应该创建自己的迭代器并使用它来反转数组中的元素。 如果只是单指针,我想我会管理的,但这是双指针,令人困惑…… 这是反向代码: 这里的问题是,因为当我点temp ,以start , temp得到start的价值和地址。但是,当我点start到end