Kodu yapıya göre gruplandırmaya çalışıyorsunuz. C gruplaması dosyalardır. Tüm işlevleri ve dahili değişkenleri bir başlığa veya başlığa ve ac kaynak dosyasından derlenen bir nesne ".o" dosyasına koyarsınız.
Nesne yönelimli bir dil olmayan bir C programı için nesne yönelimini sıfırdan yeniden icat etmek gerekli değildir.
Ben bunu daha önce görmüştüm. Tuhaf bir şey. Bazıları kodlayıcılar, değiştirmek istedikleri bir nesneyi değiştirmek için bir işleve geçirmekten kaçınırlar, bunu yapmanın standart yolu bu olsa bile.
C ++ 'ı suçluyorum, çünkü sınıf nesnesinin bir üye işlevinde her zaman ilk parametre olduğu, ancak gizli olduğu gerçeğini gizledi. Dolayısıyla, öyle olsa bile, nesneyi işleve geçirmiyor gibi görünüyor.
Client.addClient(Client& c);
C esnektir ve referans olarak geçen şeyleri alabilir.
AC işlevi genellikle yalnızca bir durum baytı veya int döndürür ve bu genellikle göz ardı edilir. Sizin durumunuzda uygun bir form olabilir
err = addClient( container_t cnt, client_t c);
if ( err != 0 )
{ fprintf(stderr, "could not add client (%d) \n", err );
addClient, Client.h veya Client.c içinde olacaktır.