abstraction in c