Een structuuraanwijzer wordt gedefinieerd als de aanwijzer die verwijst naar het adres van het geheugenblok waarin a is opgeslagen structuur bekend als de structuuraanwijzer. Complexe datastructuren zoals gekoppelde lijsten, bomen, grafieken, enz. worden gemaakt met behulp van structuuraanwijzers. De structuuraanwijzer vertelt het adres van een structuur in het geheugen door de variabele naar de structuurvariabele te wijzen.
Voorbeeld:
C
// 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;> }> |
tekstgrootte latex
>
>
In de bovenstaande code S is een exemplaar van struct point en ptr is de struct-pointer omdat deze het adres van het struct-punt opslaat.
Toegang tot het structuurlid met behulp van aanwijzers
Er zijn twee manieren om toegang te krijgen tot de leden van de structuur met behulp van een structuuraanwijzer:
- Met behulp van (*) asterisk- of indirectie-operator en (.) punt-operator.
- Met behulp van ( -> ) Pijloperator.
Hieronder vindt u het programma waarmee u toegang krijgt tot de structuurelementen met behulp van de structuuraanwijzer met behulp van de puntoperator.
lezen vanuit csv-java
C
referentievariabele in Java
// 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;> }> |
>
>
tekenreeks naar datum converterenUitgang:
1>
Hieronder vindt u het programma waarmee u toegang krijgt tot de structuurelementen met behulp van de structuuraanwijzer met behulp van de pijloperator. In dit programma hebben we een Structure Student gemaakt met structuurvariabelen s. De Structure Student heeft roll_no, naam, branch en 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->naam);> >printf>(>'Enter Branch of Student
'>);> >scanf>(>'%s'>, &ptr->filiaal);> >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->naam);> >printf>(>'Branch: %s
'>, ptr->filiaal);> >printf>(>'Batch: %d
'>, ptr->batch);> >return> 0;> }> |
metselaar formule
>
>
Uitgang:
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>