C data structor constructor