Difference between revisions of "C programming/Structures"
From Teknologisk videncenter
m (→Example 2) |
m (→Example 2) |
||
Line 24: | Line 24: | ||
==Example 2== | ==Example 2== | ||
Same as example 1, but using as [[C_programming/typedef|typedef]] | Same as example 1, but using as [[C_programming/typedef|typedef]] | ||
− | <source lang=c> | + | <source enclose=pre lang=c> |
#include <stdio.h> | #include <stdio.h> | ||
#include <stdlib.h> | #include <stdlib.h> | ||
Line 45: | Line 45: | ||
</source> | </source> | ||
+ | {{Source prog}} | ||
==Example 3== | ==Example 3== |
Revision as of 14:20, 21 November 2010
Basic structrues
Example 1
Create and instantiate a structure
#include <stdio.h>
#include <stdlib.h>
struct coor {
int x;
int y;
};
int main( void ) {
struct coor place;
place.x = 17;
place.y = 19;
printf("Tallet er %i\n",place.x+place.y);
return(0);
}
Example 2
Same as example 1, but using as typedef
#include <stdio.h>
#include <stdlib.h>
struct coor {
int x;
int y;
};
typedef struct coor coordinate;
int main( void ) {
coordinate place;
place.x = 17;
place.y = 19;
printf("Tallet er %i\n",place.x+place.y);
return(0);
}
Example 3
In example 3 the memory is reserver with malloc and indirect addressing is used to access the structure.
#include <stdio.h>
#include <stdlib.h>
struct coor {
int x;
int y;
};
typedef struct coor coordinate;
int main( void ) {
coordinate *place = malloc(sizeof(coordinate));
(*place).x = 17; /* One form of indirect addressing shown */
place->y = 19; /* Another form of indirect addressing shown */
printf("Tallet er %i\n",place->x+place->y);
return(0);
}