2013-08-25 150 views
2
struct new 
    { 
    struct  A  var1 ; 
    struct  B  var2 ; 
    }; 


    struct  new  var3 ; 
    struct  new  *var3ptr ; 

    var3ptr = &var3 ; //assign the address to pointer. 

如何使用指針var3ptr訪問結構A的變量。訪問嵌套結構的字段

感謝 納文

+0

你可以't use'n新聞「作爲你的結構的名稱。它已經是C++語言的一部分。上面的代碼不會編譯。 – zentrunix

+0

@JoséX。在** C **中,單詞'new'不保留。它可以用作標識符。注意問題的標籤包含'c'和'struct',但不包括'C++'。但是,如果代碼有可能被合併到「C++」項目中,則不推薦使用「新」。 – pablo1977

+0

@ pablo1977:好的。 – zentrunix

回答

1

如果你的意思只是去內部變量然後

var3ptr->var1; 
var3ptr->var2; 

例如,如果

struct  A 
{ 
    int x; 
}; 

struct  B 
{ 
    int y; 
}; 

那麼你可以做

printf("%d", var3ptr->var1.x); 
printf("%d", var3ptr->var2.y);