우리는 이미 포인터가 int, char, float 등과 같은 데이터 형식의 다른 변수의 주소를 가리키는 변수라는 것을 이미 배웠습니다. 마찬가지로 포인터 변수가 구조변수의 주소를 가리킬 수 있는 구조에 대한 포인터를 가질 수 있습니다. 구조변수에 대한 포인터를 선언하는 방법은 다음과 같습니다. Dot(.) 연산자는 법선 구조 변수를 사용하여 데이터에 액세스하는 데 사용되며 화살표(->)는 포인터 변수를 사용하여 데이터에 액세스하는 데 사용됩니다. C – 구조 항목에서 일반 변수를 사용하여 구조 데이터에 액세스하는 방법을 배웠습니다. 따라서 C 프로그램 아래의 포인터 변수를 사용하여 구조 데이터에 액세스하는 방법을 여기에서 보여 주겠습니다. 구조의 배열은 무엇입니까? 다른 기본 데이터 형식과 마찬가지로 구조의 배열을 만들 수 있습니다. 포인터를 사용하여 구조체의 멤버에 액세스하는 위의 방법은 약간 혼란스럽고 읽기 가독성이 낮기 때문에 C는 화살표(->) 연산자를 사용하여 멤버에 액세스하는 또 다른 방법을 제공합니다. 화살표(->) 연산자 쓰기 포인터 변수다음에 -> 연산자 다음에 멤버 이름을 사용하여 멤버에 액세스합니다. 우리는 이전 자습서 중 하나에서 함수에 구조를 전달 하는 방법에 대해 배웠습니다.
따라서 이 아이디어를 사용하여 구조 포인터를 함수에 전달합니다. 그래서, 우리는 세 학생의 세부 사항을 저장하기 위해 크기 3의 학생 구조 변수의 배열을 만들었습니다. std의 시작 주소는 ptr 변수에 할당되고 학생 구조의 구성원에 액세스하기 위해 함께 작동합니다. 구조 요소에 액세스하는 방법? 구조 멤버는 점(.) 연산자를 사용하여 액세스됩니다. C의 다른 구조체에 한 구조를 복사하는 방법에는 여러 가지가 있습니다. C에서 자체 참조 구조체를 정의할 수도 있습니다(유형이 구조체 형식에 대한 포인터인 필드가 있는 구조체). 예를 들어 연결된 목록에 대한 노드를 정의하는 방법은 다음과 같은 방법입니다. 이제 변수 스파이크의 주소를 사용 및 연산자를 사용하여 ptr_dog에 할당할 수 있습니다.
예: 이 자습서에서는 „student“에 대한 구조를 사용하고 구조체 멤버는 „name“(문자열 유형), „age“(정수 유형), „롤 번호“(정수 유형)가 됩니다. 포인터 값을 매개 변수로 하는 함수를 작성할 때 전달하는 인수의 형식을 생각해야 합니다. 이렇게 하면 인수 값과 올바른 일치 함수 매개 변수 형식을 전달하는 방법에 대한 구문을 알아내는 데 도움이 됩니다. 이 프로그램에서 „record1″은 일반 구조 변수이고 „ptr“은 포인터 구조 변수입니다. 아시다시피 Dot(.) 연산자는 일반 구조 변수를 사용하여 데이터에 액세스하는 데 사용되며 arrow(->)는 포인터 변수를 사용하여 데이터에 액세스하는 데 사용됩니다. 포인터를 사용하여 구조체의 멤버에 액세스하는 방법에는 두 가지가 있습니다: 이 시점에서 ptr_dog는 구조 변수 스파이크를 가리키므로 이를 참조하면 스파이크의 내용을 얻을 수 있습니다. 즉, 스파이크와 *ptr_dog는 기능적으로 동일합니다. 구조체의 멤버에 액세스하려면 *ptr_dog 다음에 점(.) 연산자가 이어지며 멤버 의 이름이 표시됩니다. 예를 들어 반환 유형은 함수Name의 반환 형식입니다. 함수가 아무 것도 반환하지 않으면 무효화하도록 설정합니다. 함수는 구조 태그이름 포인터를 취합니다. 이 프로그램에서는 포인터와 함께 구조를 사용하는 방법을 배우게됩니다.
구조 포인터 (구조 체 객체에 대한 포인터)를 선언하는 방법, 구조체 멤버에 값을 할당하는 방법 및 구조 포인터를 사용하여 액세스하는 방법은 무엇입니까? 구조 부멤버를 초기화하는 방법은 무엇입니까? 구조부 구성원은 선언으로 초기화할 수 없습니다.