什么是C语言结构的指针?
结构指针包含整个结构的加法。
它用于创建复杂的数据结构,例如链表,树,图等。
可以使用称为箭头运算符(->)的特殊运算符来访问结构的成员。
宣言
以下是C编程中结构指针的声明-
struct tagname *ptr;
例如-结构学生*s-
存取中
下面说明如何访问结构的指针。
Ptr-> membername;
例如-s->sno,s->sname,s->marks;
例子1
以下程序显示了结构指针的用法-
#include<stdio.h> struct student{ int sno; char sname[30]; float marks; }; main ( ){ struct student s; struct student *st; printf("enter sno, sname, marks:"); scanf ("%d%s%f", & s.sno, s.sname, &s. marks); st = &s; printf ("details of the student are"); printf ("Number = %d\n", st ->sno); printf ("name = %s\n", st->sname); printf ("marks =%f\n", st ->marks); }输出结果
让我们运行上面的程序,它将产生以下结果-
enter sno, sname, marks:1 Lucky 98 details of the student are: Number = 1 name = Lucky marks = 98.000000
例子2
考虑另一个示例,该示例解释了结构指针的功能。
#include<stdio.h> struct person{ int age; float weight; }; int main(){ struct person *personPtr, person1; personPtr = &person1; printf("输入年龄: "); scanf("%d", &personPtr->age); printf("输入重量: "); scanf("%f", &personPtr->weight); printf("Displaying:\n"); printf("Age: %d\n", personPtr->age); printf("weight: %f", personPtr->weight); return 0; }输出结果
让我们运行上面的程序,它将产生以下结果-
输入年龄: 45 输入重量: 60 Displaying: Age: 45 weight: 60.000000