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


    struct  new  var3 ; 
    struct  new  *var3ptr ; 

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

Как получить доступ к переменным структуры A с помощью указателя var3ptr.Доступ к полям вложенных структур

Благодаря Нэвин

+0

Вы можете 't use "n ew "как название вашей структуры. Это уже часть языка C++. Ваш код выше не будет компилироваться. – zentrunix

+0

@ JoséX. В ** C ** слово 'new' не зарезервировано. Он может использоваться как идентификатор. Обратите внимание, что теги вопроса включают 'c' и' struct', но не 'C++'. Однако не рекомендуется использовать «новый», если код имеет возможность быть включенным в проект 'C++'. – pablo1977

+0

@ pablo1977: ok. – zentrunix

ответ

1

, если вы имеете в виду просто перейти к внутренним переменным, то

var3ptr->var1; 
var3ptr->var2; 

, например, если

struct  A 
{ 
    int x; 
}; 

struct  B 
{ 
    int y; 
}; 

, то вы можете сделать

printf("%d", var3ptr->var1.x); 
printf("%d", var3ptr->var2.y); 
Смежные вопросы