簡體   English   中英

如何訪問對結構的引用的引用的成員。 (結構**)

[英]How to access memebers of a reference to a reference to a struct. (struct**)

我對 C 編程很陌生。 我在問自己如何訪問雙引用結構的成員。 (不確定你是否會這樣命名。)

所以有這個簡單的例子:

#include  <stdio.h>
#include  <string.h>

typedef struct {
    char n[4];
} inner;
typedef struct {
    inner inner[5];
} outer;


int main(void)
{
    outer o;
    strcpy(o.inner[0].n, "123");
    strcpy(o.inner[1].n, "ABC");
    
    // Working. Prints "123".
    printf("%s\n", o.inner[0].n);
    
    outer* oo = &o;
    
    // Working. Prints "123".
    printf("%s\n", oo->inner[0].n);
    
    outer** ooo = &oo;
    
    // Not working. Need help here, please.
    printf("%s\n", *ooo->inner[0].n);
    
    return 0;
}

我如何訪問outer** ooo成員。 我在最后一個 printf 語句中嘗試了一些東西,但沒有用。

感謝@Ted Lyngmo 和@Ian Abbott。 正確答案是:

(*ooo)->inner[0].n

要么

ooo[0]->inner[0].n

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM