Het vrijgeven van Geheugen
Wanneer u met geheugen hebt geƫindigd dat is toegewezen, zou u vrij het geheugen nooit moeten vergeten aangezien het omhoog middelen zal bevrijden en snelheid zal verbeteren. Om toegewezen geheugen vrij te geven, gebruik de vrije functie.
free(ptr);
Structuren
Evenals de basisgegevenstypes, heeft C een structuurmechanisme dat u toestaat om gegevensonderdelen te groeperen die aan elkaar onder een gemeenschappelijke naam verwant zijn. Dit wordt algemeen bedoeld als Gebruiker Bepaald Type.
Het sleutelwoord struct begint de structuurdefinitie, en een markering geeft de unieke naam aan de structuur. De gegevenstypes en de veranderlijke namen die aan de structuur worden toegevoegd zijn lid van de structuur. Het resultaat is een structuurmalplaatje dat als typespecifier kan worden gebruikt. Het volgende is een structuur met een markering van maand.
struct month
{
char name[10];
char abbrev[4];
int days;
};
Een structuurtype wordt gewoonlijk bepaald dichtbij aan het begin van een dossier gebruikend een typedefverklaring typedef bepaalt en noemt een nieuw type, toestaand zijn gebruik door het programma typedef kom gewoonlijk voor vlak nadat # bepaal en # omvat verklaringen in een dossier.
Het typedefsleutelwoord kan worden gebruikt om een woord te bepalen om naar de structuur te verwijzen eerder dan het specificeren van het structsleutelwoord met de naam van de structuur. Het is gebruikelijk om typedef in hoofdletters te noemen. Hier zijn de voorbeelden van structuurdefinitie.
typedef struct {
char name[64];
char course[128];
int age;
int year;
} student;
Dit bepaalt variabelen van een de nieuwe typestudent van typestudent kan als volgt worden verklaard.
student st_rec;
Bericht hoe gelijkaardig dit is aan het verklaren van int. of een vlotter. De veranderlijke naam is st_rec, heeft het leden genoemd naam, cursus, leeftijd en jaar. Op dezelfde manier
typedef struct element
{
char data;
struct element *next;
} STACKELEMENT;
Een variabele van het gebruiker bepaalde type struct element kan nu als volgt worden verklaard.
STACKELEMENT *stack;
Overweeg de volgende structuur:
struct student
{
char *name;
int grade;
};
Een wijzer aan structstudent kan als volgt worden bepaald.
struct student *hnc;
Wanneer het toegang tot van een wijzer aan een structuur, de exploitant van de lidwijzer, - > wordt gebruikt in plaats van de puntexploitant. Om een rang aan een structuur toe te voegen,
s.grade = 50;
U kon een rang aan de structuur als volgt toewijzen.
s->grade = 50;
Zoals met de basisgegevenstypes, als u de veranderingen die in een functie aan overgegaane parameters worden aangebracht blijvend wilt zijn, moet u door verwijzing (ga het adres over) overgaan. Het mechanisme is precies het zelfde als de basisgegevenstypes. Ga het adres over, en verwijs naar de variabele gebruikend wijzeraantekening.
|