void proc(Struct* this, /* other params */ ...) {/*...*/}Struct* obj = calloc(1, sizrof(Struct));proc(obj, /*...*/);
enum e_SymbolType { BaseTypeVariable, Object, BaseTypeName, ClassName, Label, Function }struct Symbol { e_SymbolType symbol_type; /* ... */}
/* Всем известное правило языка С *//* Без этого объявления использование в main вызовет ошибку */void func();void main() { func();}void func() {}
/* А в Java - можно хоть как! */class A { public void main() { m(); B b = new B(); b.bf(); } private void m() {}}class B { public void bf();}