Un pointeur de structure est défini comme le pointeur qui pointe vers l'adresse du bloc mémoire qui stocke un structure connu sous le nom de pointeur de structure. Des structures de données complexes telles que des listes chaînées, des arbres, des graphiques, etc. sont créées à l'aide de pointeurs de structure. Le pointeur de structure indique l'adresse d'une structure en mémoire en pointant la variable vers la variable de structure.
Exemple:
C
cours de mathématiques java
// 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;> }> |
>
>
Dans le code ci-dessus s est une instance de point de structure et ptr est le pointeur de structure car il stocke l'adresse du point de structure.
Accès au membre de structure à l'aide de pointeurs
Il existe deux manières d'accéder aux membres de la structure à l'aide d'un pointeur de structure :
- À l’aide de l’astérisque (*) ou de l’opérateur d’indirection et de l’opérateur point (.).
- Avec l'aide de l'opérateur Flèche ( -> ).
Vous trouverez ci-dessous le programme permettant d'accéder aux membres de la structure à l'aide du pointeur de structure à l'aide de l'opérateur point.
C
// 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;> }> |
le plus beau sourire du monde
>
>Sortir:
1>
Vous trouverez ci-dessous le programme permettant d'accéder aux membres de la structure à l'aide du pointeur de structure à l'aide de l'opérateur Flèche. Dans ce programme, nous avons créé un Structure Student contenant des variables de structure s. L'étudiant de structure a roll_no, nom, branche et lot.
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->nom);> >printf>(>'Enter Branch of Student
'>);> >scanf>(>'%s'>, &ptr->succursale);> >printf>(>'Enter batch of Student
'>);> >scanf>(>'%d'>, &ptr->lot);> >// Displaying details of the student> >printf>(>'
Student details are:
'>);> >printf>(>'Roll No: %d
'>, ptr->roll_no);> >printf>(>'Name: %s
'>, ptr->nom);> >printf>(>'Branch: %s
'>, ptr->succursale);> >printf>(>'Batch: %d
'>, ptr->lot);> >return> 0;> }> |
>
>
Sortir:
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>