1.philosohpy of the design of C .close to the machine .close to the problem to be solved2.how does one Write Good Program IN C ? Know what you want to say. .Practice.imitate good writing.
3.Programming Paradigms
Procedural Programming .Decide which procedures you want; use the best algorithms you can find Modular Programming (data-hiding principle) .Decide which modules you want;. Partition the program so that data is hidden within modules.
Data Abstraction .Decide which types you want; .provide a full set of operations for each type Object Oriented Programming .Decide which classes you want;. .Provide a full set of operations for each class; .make commonality explicitly by using inheritance.
Generic Programming .decide Which algorithms you want; .parameterize the so what the the work for a variety of suitable type and data structures.4.vtbl: Virtual Function TABLE