questions
Anyone in the class can edit this page.
Brownie points for both good questions
and good answers.
your question
Ask away.
When you define triple here
typedef struct _triple *triple;
struct _triple {
int a;
int b;
int c;
};
Why can you drop the underline at the beginning? (like here)
triple new_triple(int a, int b, int c){
// Allocate memory on the heap for this thing, and return a pointer to it.
triple t = (triple) malloc(sizeof(struct _triple));
t->a = a;
.
.
.
and here
int sum = 1000;
triple p;
printf("Looking...")
Okay, never mind. I found my answer
here.
- the * is lets the compiler know that the name is a pointer and not
not part of the name of the typedef
- typedef struct _triple {} *triple allows for a quick way to declare a variable of struct _triple type by just stating triple p;
- _triple is the name of that struct definition
- sizeof(struct _triple) gets the size of the struct defined as _triple
Alternate way mentioned by Alex Hiam
typedef struct _triple {
int a;
int b;
int c;
} *triple;