>백엔드 개발 >C++ >C 언어에서 포인터는 구조체에 대한 포인터입니다.

C 언어에서 포인터는 구조체에 대한 포인터입니다.

王林
王林앞으로
2023-08-26 18:45:051527검색

C 언어에서 포인터는 구조체에 대한 포인터입니다.

구조 포인터는 전체 구조의 추가를 저장합니다.

연결된 목록, 트리, 그래프 등과 같은 복잡한 데이터 구조를 만드는 데 사용됩니다.

구조체의 멤버는 화살표 연산자( -> )라는 특수 연산자를 사용하여 액세스할 수 있습니다.

선언

다음은 C 프로그래밍에서 구조체에 대한 포인터 선언입니다. -

struct tagname *ptr;

예를 들어 - struct Student *s -

Access

구조 포인터에 액세스하는 방법은 아래에 설명되어 있습니다.

Ptr-> membername;

예를 들어 - s->sno, s->sname, s->marks;

예제 프로그램

다음 프로그램은 구조 포인터의 사용법을 보여줍니다. - p>

#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</p><p>", st ->sno);
   printf ("name = %s</p><p>", st->sname);
   printf ("marks =%f</p><p>", st ->marks);
   getch ( );
}

Output

위 프로그램을 실행해 보겠습니다. will은 다음 결과를 생성합니다. -

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("Enter age: ");
   scanf("%d", &personPtr->age);
   printf("Enter weight: ");
   scanf("%f", &personPtr->weight);
   printf("Displaying:</p><p>");
   printf("Age: %d</p><p>", personPtr->age);
   printf("weight: %f", personPtr->weight);
   return 0;
}

출력

위 프로그램을 실행하면 다음과 같은 결과가 생성됩니다. -

Enter age: 45
Enter weight: 60
Displaying:
Age: 45
weight: 60.000000

위 내용은 C 언어에서 포인터는 구조체에 대한 포인터입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제