Mikroc – ABL electronic PIC Microcontrollers PIC16 User Manual

Page 86

Advertising
background image

Accessing Nested Structures

If structure

B

contains a field whose type is structure

A

, the members of

A

can be

accessed by two applications of the member selectors:

struct

A {

int

j; double x;

};

struct

B {

int

i; struct A a; double d;

} s, *sptr;

//...

s.i = 3;

// assign 3 to the i member of B

s.a.j = 2;

// assign 2 to the j member of A

sptr->d = 1.23;

// assign 1.23 to the d member of B

sptr->a.x = 3.14;

// assign 3.14 to x member of A

Structure Uniqueness

Each structure declaration introduces a unique structure type, so that in

struct

A {

int

i,j; double d;

} aa, aaa;

struct

B {

int

i,j; double d;

} bb;

the objects

aa

and

aaa

are both of type struct

A

, but the objects

aa

and

bb

are of

different structure types. Structures can be assigned only if the source and destina-
tion have the same type:

aa = aaa;

/* OK: same type, member by member assignment */

aa = bb;

/* ILLEGAL: different types */

/* but you can assign member by member: */

aa.i = bb.i;

aa.j = bb.j;

aa.d = bb.d;

mikroC - C Compiler for Microchip PIC microcontrollers

mikroC

making it simple...

78

MikroElektronika: Development tools - Books - Compilers

page

Advertising
This manual is related to the following products: