The typedef on avainsana, jota käytetään C-ohjelmoinnissa antamaan joitakin merkityksellisiä nimiä jo olemassa oleville muuttujille C ohjelma . Se käyttäytyy samalla tavalla kun määrittelemme komentojen aliaksen. Lyhyesti sanottuna voimme sanoa, että tätä avainsanaa käytetään määrittämään uudelleen jo olemassa olevan muuttujan nimi.
Typedef:n syntaksi
typedef
Yllä olevassa syntaksissa ' olemassa oleva_nimi' on jo olemassa olevan muuttujan nimi, kun ' alias nimi' on olemassa olevalle muuttujalle annettu toinen nimi.
Oletetaan esimerkiksi, että haluamme luoda tyyppisen muuttujan allekirjoittamaton int , silloin siitä tulee tylsä tehtävä, jos haluamme ilmoittaa useita tämän tyyppisiä muuttujia. Ongelman voittamiseksi käytämme kirjoitustyyppi avainsana.
typedef unsigned int unit;
Yllä olevissa lausunnoissa olemme ilmoittaneet yksikkö muuttuja tyyppiä unsigned int käyttämällä kirjoitustyyppi avainsana.
Nyt voimme luoda tyypin muuttujia allekirjoittamaton int kirjoittamalla seuraavan lausunnon:
unit a, b;
kirjoittamisen sijaan:
unsigned int a, b;
Tähän mennessä olemme havainneet, että typedef avainsana tarjoaa mukavan pikakuvakkeen tarjoamalla vaihtoehtoisen nimen jo olemassa olevalle muuttujalle. Tämä avainsana on hyödyllinen, kun käsittelemme erityisesti pitkiä tietotyyppejä, rakennemäärityksiä.
df.loc
Ymmärretään yksinkertaisen esimerkin kautta.
#include int main() { typedef unsigned int unit; unit i,j; i=10; j=20; printf('Value of i is :%d',i); printf(' Value of j is :%d',j); return 0; }
Lähtö
Value of i is :10 Value of j is :20
Typedefin käyttö rakenteissa
Harkitse alla olevaa rakenneilmoitusta:
struct student { char name[20]; int age; }; struct student s1;
Yllä olevassa rakenneilmoituksessa olemme luoneet muuttujan of opiskelija kirjoita kirjoittamalla seuraava lause:
struct student s1;
Yllä oleva lauseke näyttää muuttujan eli s1:n luomisen, mutta lause on melko suuri. Välttääksemme näin suuren lausunnon käytämme typedef avainsanan tyypin muuttujan luomiseen opiskelija .
struct student { char name[20]; int age; }; typedef struct student stud; stud s1, s2;
Yllä olevassa lauseessa olemme ilmoittaneet muuttujan nasta tyyppistä struct opiskelijaa. Nyt voimme käyttää nasta muuttuja ohjelmassa tyypin muuttujien luomiseksi rakenne opiskelija .
java on tyhjä
Yllä oleva typedef voidaan kirjoittaa seuraavasti:
typedef struct student { char name[20]; int age; } stud; stud s1,s2;
Edellä olevista julistuksista päättelemme, että typedef avainsana vähentää koodin pituutta ja tietotyyppien monimutkaisuutta. Se auttaa myös ymmärtämään ohjelmaa.
Katsotaanpa toinen esimerkki, jossa kirjoitamme rakennemäärityksen.
#include typedef struct student { char name[20]; int age; }stud; int main() { stud s1; printf('Enter the details of student s1: '); printf(' Enter the name of the student:'); scanf('%s',&s1.name); printf(' Enter the age of student:'); scanf('%d',&s1.age); printf(' Name of the student is : %s', s1.name); printf(' Age of the student is : %d', s1.age); return 0; }
Lähtö
Enter the details of student s1: Enter the name of the student: Peter Enter the age of student: 28 Name of the student is : Peter Age of the student is : 28
Typedefin käyttö osoittimien kanssa
Voimme myös antaa osoitinmuuttujille toisen nimen tai aliaksen nimen avulla typedef .
Esimerkiksi julistamme tavallisesti osoittimen alla olevan kuvan mukaisesti:
int* ptr;
Voimme nimetä yllä olevan osoitinmuuttujan uudelleen seuraavasti:
typedef int* ptr;
Yllä olevassa lauseessa olemme ilmoittaneet tyypin muuttujan int* . Nyt voimme luoda tyypin muuttujan int* yksinkertaisesti käyttämällä ' ptr' muuttuja alla olevan lauseen mukaisesti:
ptr p1, p2 ;
Yllä olevassa lausunnossa p1 ja p2 ovat tyypin ' muuttujia ptr' .