107Typedef, Struct, Enum
struct
a collection of types, composite data type, composition, "user-definded data structure"
struct Test {
char* name;
int nr;
float f;
};
Name of type is "struct Test", and not "Test" alone.
struct Test myNewTest
Semicolon after closing parethesis is essentional.
Access composed types with dot-syntax:
myNewTest.name = "hjkjnk";
myNewTest.nr = 32;
myNewTest.f = 2.2424
;
typedef a shorthand, an alias for a type, for ease of readability.
typedef int MyType
"MyType n;" would be equal to "int n;"
enum "introduces a symbolic name for an integer constant"
enum direction_enum {LEFT, RIGHT}; / LEFT -> 0, RIGHT -> 1; / enum direction_enum x = LEFT;
typedef enum
typedef enum {
LEFT;
RIGHT;
} direction;
declatation:
-(void)myFunction:(direction)LEFTorRIGHT;
call: -(void)myFunction:LEFT;
typedef struct
typedef struct objectInfo_ { CGPoint origin; NSString name; NSColor color; } objectInfo
Shortcut. Instead of writing 'struct objectInfo', write 'objectInfo'. The keyword 'objectInfo' seems to be optional.