logo

Strukturpointer i C

En strukturpointer er defineret som den pointer, der peger på adressen på den hukommelsesblok, der gemmer en struktur kendt som strukturmarkøren. Komplekse datastrukturer som sammenkædede lister, træer, grafer osv. skabes ved hjælp af strukturpointere. Strukturmarkøren fortæller adressen på en struktur i hukommelsen ved at pege variablen til strukturvariablen.
Eksempel:

C




kruskals algoritme





// C program to demonstrate structure pointer> #include> struct> point {> >int> value;> };> int> main()> {> >struct> point s;> > >// Initialization of the structure pointer> >struct> point* ptr = &s;> >return> 0;> }>



>

>

I ovenstående kode s er en instans af struct point og ptr er struct-pointeren, fordi den gemmer adressen på struct-punktet.

Adgang til strukturmedlemmet ved hjælp af pointere

Der er to måder at få adgang til strukturens medlemmer ved hjælp af en strukturmarkør:

  1. Ved hjælp af (*) asterisk eller indirekte operator og (.) prik operator.
  2. Ved hjælp af ( -> ) pileoperator.

Nedenfor er programmet til at få adgang til strukturmedlemmerne ved hjælp af strukturmarkøren ved hjælp af prikoperatoren.

C


fjernelse fra arraylist



// C Program to demonstrate Structure pointer> #include> #include> struct> Student {> >int> roll_no;> >char> name[30];> >char> branch[40];> >int> batch;> };> int> main()> {> >struct> Student s1;> >struct> Student* ptr = &s1;> >s1.roll_no = 27;> >strcpy>(s1.name,>'Kamlesh Joshi'>);> >strcpy>(s1.branch,>'Computer Science And Engineering'>);> >s1.batch = 2019;> >printf>(>'Roll Number: %d '>, (*ptr).roll_no);> >printf>(>'Name: %s '>, (*ptr).name);> >printf>(>'Branch: %s '>, (*ptr).branch);> >printf>(>'Batch: %d'>, (*ptr).batch);> >return> 0;> }>

>

>

Produktion:

1>

Nedenfor er programmet til at få adgang til strukturmedlemmerne ved hjælp af strukturmarkøren ved hjælp af pil-operatoren. I dette program har vi lavet en Structure Student indeholdende strukturvariable s. Strukturstudenten har roll_no, navn, filial og batch.

C




// C Program to demonstrate Structure pointer> #include> #include> // Creating Structure Student> struct> Student {> >int> roll_no;> >char> name[30];> >char> branch[40];> >int> batch;> };> // variable of structure with pointer defined> struct> Student s, *ptr;> int> main()> {> >ptr = &s;> >// Taking inputs> >printf>(>'Enter the Roll Number of Student '>);> >scanf>(>'%d'>, &ptr->roll_no);> >printf>(>'Enter Name of Student '>);> >scanf>(>'%s'>, &ptr->navn);> >printf>(>'Enter Branch of Student '>);> >scanf>(>'%s'>, &ptr->filial);> >printf>(>'Enter batch of Student '>);> >scanf>(>'%d'>, &ptr->batch);> >// Displaying details of the student> >printf>(>' Student details are: '>);> >printf>(>'Roll No: %d '>, ptr->roll_no);> >printf>(>'Name: %s '>, ptr->navn);> >printf>(>'Branch: %s '>, ptr->filial);> >printf>(>'Batch: %d '>, ptr->batch);> >return> 0;> }>

>

>

inkscape vs gimp

Produktion:

Enter the Roll Number of Student 27 Enter Name of Student Kamlesh_Joshi Enter Branch of Student Computer_Science_And_Engineering Enter batch of Student 2019 Student details are: Roll No: 27 Name: Kamlesh_Joshi Branch: Computer_Science_And_Engineering Batch: 2019>