En strukturpeker er definert som pekeren som peker til adressen til minneblokken som lagrer en struktur kjent som strukturpekeren. Komplekse datastrukturer som koblede lister, trær, grafer, etc. lages ved hjelp av strukturpekere. Strukturpekeren forteller adressen til en struktur i minnet ved å peke variabelen til strukturvariabelen.
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 koden ovenfor s er en forekomst av struct point og ptr er struct-pekeren fordi den lagrer adressen til struct-punktet.
Få tilgang til strukturmedlemmet ved hjelp av pekere
Det er to måter å få tilgang til medlemmene av strukturen ved hjelp av en strukturpeker:
- Ved hjelp av (*) stjerne eller indirektionsoperator og (.) punktoperator.
- Ved hjelp av ( -> ) piloperator.
Nedenfor er programmet for å få tilgang til strukturmedlemmene ved hjelp av strukturpekeren ved hjelp av punktoperatoren.
C
hva er f5 på tastaturet
// 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;> }> |
>
>Produksjon:
1>
Nedenfor er programmet for å få tilgang til strukturmedlemmene ved hjelp av strukturpekeren ved hjelp av piloperatoren. I dette programmet har vi laget en strukturstudent som inneholder strukturvariabler. Strukturstudenten har roll_no, navn, gren 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;> }> |
>
>
kan android spille gamepigeon
Produksjon:
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>