Showing posts with label enum. Show all posts
Showing posts with label enum. Show all posts

Thursday, March 13, 2025

How to Improve Code Readability, User-Defined Types in the C Programming Language

In the C programming language, in addition to basic data types such as int, float, char, etc., you can define your own data types. These user-defined types allow programmers to create more complex data structures that meet the specific needs of their applications. User-defined types in the C programming language: struct, union, enum and typedef, provide programmers with tools to create customized and meaningful data types. Structures are ideal for grouping data, unions for saving memory, enumerations for defining constants, and typedef for simplifying syntax.

Their proper use makes the code more modular, easier to understand and adapt, which is especially important in larger projects. These mechanisms are the foundation for working with complex data in the C programming language and are often used in system programming, database work, and algorithm implementation, while at the same time these user-defined types make the code more readable, organized, and easier to maintain. In addition to user-defined data types, at the end of the lesson, we will also focus on constants in the C programming language.

You need to have a solid understanding of the C programming language to effectively use user-defined types

You need to have a solid understanding of the C programming language to effectively use user-defined types

First of all, we will start with structures because structures are the most commonly used user-defined data types in the C programming language. Structures are user-defined data types that allow grouping different types of data under a single name. They simply enable the combination of different data types into one entity. Each variable within a structure is called a member of the structure. Structures are defined using the struct keyword. A structure is useful when we want to model an entity that has multiple attributes, such as a person, a car, or a point in space.

As we know, the C programming language was developed by Dennis Ritchie at Bell Labs during the early 1970s, and it is based on the earlier programming language B, which was created by Ken Thompson and Ritchie. The B programming language, at that time, around 1970, was simple and did not have structures as a formal concept. Instead, programmers manually managed memory and grouped data using pointers and manual memory offsets. However, Ritchie recognized the need for a higher level of abstraction to make programming more efficient. This means that structures did not exist in the earliest predecessors of the C programming language, but they were introduced very early in its development, practically with the creation of the C programming language as we know it today.

Designing Complex Data Structures in C: Best Practices

Monday, March 26, 2018

Enumeracije ili nabrajanje tipa Enum u C# programskom jeziku


Enumerations - enumeracije su specijalni vrednosni tipovi podataka koji omogućava da zadate grupu imenovanih numeričkih konstanti. U Srbiji se enumeracija često naziva nabrajanje, ali onda je bolje da kažete nabrajanje tipa enum jer postoje i druge vrste nabrajanja u C# programskom jeziku. Programeri C++ programskog jezika ponekad nazivaju enumeraciju skraćeno enums. Zašto enums, zašto ne enum? Zato što je enum skraćenica od ENUM - Electronic number – elektronski broj; što je opet predlog za mapiranje svih telefonskih brojeva u IP adrese.


( Enumeracija čini vaš kod čitljivijim )

Zato je neophodno obratiti pažnju kada pričate sa kolegama o enumeracijama. Inače kada hoćete da deklarišete enumeraciju u C# programskom jeziku; koristite ključnu reč enum izvan funkcija kao što to radite sa strukturama.

enum ime_enumeracije
{
    vrednost1,
    vrednost2,
   
}

Jednom kad ste deklarisali enumeraciju, možete da je koristite na tačno isti način kao i bilo koji drugi numerički tip podataka. Vrednostima enumeracije možete dodeljivati jedino celobrojnu vrednost. Ukoliko želite vrednostima enumeracije da dodeljujete vrednosti tipa stringova, onda bolje razmislite o tome da koristite strukturu u kojoj će nabrajanje biti jedan od članova strukture. Nabrajanje pružaju funkcionalnost garantovanih fiksnih vrednosti i kad se koriste kao indikatori.

Kako se dodeljuju vrednosti strukturi enumeracija?

Monday, December 07, 2015

Enumeracije u C# programskom jeziku



Enumerations – enumeracije ili kako ih još zovu nabrajanje služi da vam pruži funkcionalnost garantovanih fiksnih vrednosti i kada se koriste kao indikatori. Enumeracije su jednostavno definisani celobrojni tipovi konstanti. Smatraju se vrednosnim tipovima jer sadrže vlastite vrednosti, koji se ipak ne mogu nasleđivati. Enumeracije olakšavaju održavanje vašeg koda tako što garantuju da su promenjive dobile definisane legitimne vrednosti. Upotrebom enumeracija dobija se jasniji kod jer vrednostima celobrojnih tipova možete da ih referencirate korišćenjem opisnih imena umesto celobrojnih brojeva. Zahvaljujući Intellisense-u u Visual Studio-u; enumeracijama se dobija i kod lakši za kucanje. Kodiranje uvek sa jedne strane treba da se kraće kodira ali da ne postane previše nečitko, dok sa druge strane postoji i potreba da da kod bude što čitljiviji jer na velikim projektima vi će te posle nekog vremena preći na drugi projekat dok će vaš kod ostati nekom drugom za održavanje.

 

( Šaljivi prikaz enumeracije crtežom )


Kako i u kom obliku praviti kompromis po tom pitanju ostaje prvo na kompaniji i njenim pravilima, zatim timu programera koji se uvek trude da imaju slično kodiranje koje ne odstupa previše od programera u timu; pa tek onda možete pratiti svoje navike i stil u kodiranju. Razlog tome su što C# programski jezik omogućava više mogućnosti kako jednu te istu funkcionalnost možete isprogramirati. Čak i kad počnete da učite programiranje, najviše vas usporava dilema kako je najbolje nešto isprogramirati. I pored toga što enumeracije čine pre svega čitljivost; treba ih uvek koristiti kad imate potrebu za bilo kakvim nabrajanjem. Nemojte mešati enumeracije sa enumeratorom, koji služi za enumerisanje kolekcija upotrebom interfejsa System.Collections.IEnumerable. Sintaksa za enumeraciju je:

enum ime_enumeracije
{
          lista_nabrajanja

};


Lista nabrajanja se u vitičastim zagradama { } odvaja zarezom i ukoliko ne dodelite nikakvu vrednost podrazumeva se da elementi u enumeraciji imaju početnu vrednost 0 i da je posle svaki uvećan za 1.

Kako se koristi enumeracija u kodu?


Wednesday, October 21, 2015

Strukture i Enumeracije u C++ programskom jeziku


Za strukturu često kažu da je to u stvari klasa, stime da su njeni članovi podrazumevano javni. Inače struktura je skup istih ili različitih promenjivih tipova podataka koje vi pravite sami prema vašim potrebama. Često je programeri koriste kad im treba niz sa različitim tipovima podataka. Često se koristi i da grupišete promenjive jer je tako kodiranje lakše i čitljivije. Strukture se najviše koriste u C programskom jeziku jer C programski jezik nema klase. Ali C++ tretira strukturu kao klasu, ali više kao specijalnu klasu koja je kompatibilna sa C programskim jezikom. Svi vaši primeri u C programskom jeziku s ključnom rečju struct će raditi i u C++ programskom jeziku. Programski jezik C nema ključne reči public i private, pa se zato svi članovi strukture tretiraju kao javni. Kod strukture zaboravite na privatnost.


( Strukture i enumeracije čine kodiranje čitljivijim ) 

Naravno da struktura može da sadrži funkciju, čak i konstruktore kao i klasa, ali u praksi se to retko radi. Jedna struktura može da sadrži i drugu strukturu. Ukoliko imate potrebe za funkcijama i konstruktorima najbolje da napravite klasu za to. Inače često možete videti da programeri koriste pokazivače na strukturu. Sintaksa za strukturu je slična klasi ali se za razliku od klasa više kodira u istom fajlu vašeg programa nego u posebnim fajlovima.

struct ime_strukture
{
           tip1 promenjiva1;
           tip2 promenjiva2;
. . .
 
}

Članovima strukture pristupamo jednostavno navođenjem imena člana posle tačke. Pogledajte najednostavniji primer: