- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
/* TODO: make this into something smarter than a linked list */
typedef struct bunchOfInstances_t {
ncInstance * instance;
int count; /* only valid on first node */
struct bunchOfInstances_t * next;
} bunchOfInstances;
ncInstance * get_instance (bunchOfInstances **headp)
{
static bunchOfInstances * current = NULL;
/* advance static variable, wrapping to head if at the end */
if ( current == NULL ) current = * headp;
else current = current->next;
/* return the new value, if any */
if ( current == NULL ) return NULL;
else return current->instance;
}
guest 18.05.2010 19:22 # −1
Зачем лишний typedef? Не хватает обычного struct bunchOfInstances_t {....}?
absolut 18.05.2010 21:34 # +2
В Си это нужно, чтобы писать просто "bunchOfInstances", а не "struct bunchOfInstances_t"
cfdev 19.05.2010 03:17 # −3
typedef String Path;
и далее:
Path Path.Combine(Path path1, Path path2);
и т. д.
Или например
typedef int size;
Чтобы чётко понимать, чтО имеешь перед глазами, а не какое-то бесполое "int". Своего рода наследование от примитивных типов, короче.
AxisPod 19.05.2010 06:12 # +1
struct mystruct myvar;
TarasB 18.05.2010 22:04 # 0
return (*headp)?(*headp)->instance:NULL