[exit Record Types]
Record Types
- Definition of a record structure: struct record-type-name { field-type
field-name;... }
- Definition of a variable: struct record-type-name var-name
- Reference to a record field: var-name.field-name
struct person {
char name[50];
int age;
};
struct person me, you, other;
.....
if( me.age > you.age ){ ... }
- Combined record type name and variable definitions: struct
record-name { field-type field-name;... } var-name
struct person {
char name[50];
int age;
}
me, you, other;
.....
if( me.age > you.age ){ ... }
- Variable declaration through nameless structure type: struct { fields
} var-name
struct {
char name[50];
int age;
}
me, you, other;
.....
if( me.age > you.age ){ ... }
Aliases through typedef declarations can offer record types appearances
similar to those of primitive types.
#include <cstdio>
using namespace std;
typedef struct {
char name [20];
int age;
} person;
void show( person p ){
printf( "name = %s, age = %d\n", p.name, p.age);
}
int main() {
person someone;
(void) strcpy (someone.name, "some name");
someone.age = 10;
show( someone );
return 0;
}