data abstraction in c