C 언어에서 구조체를 0으로 초기화하려면 다음과 같은 방법을 사용할 수 있습니다
1. 직접 초기화:
구조체를 정의할 때 중괄호 {}를 사용하여 직접 초기화할 수 있습니다. 이 경우 구조체의 모든 멤버가 0으로 초기화됩니다. 예를 들어, 다음은 myStruct라는 구조체를 0으로 초기화하는 예입니다:
#include <string.h>
struct myStruct {
int num;
float value;
};
struct myStruct example = {0}; // 모든 멤버를 0으로 초기화
이렇게 하면 example 구조체의 num 멤버와 value 멤버가 모두 0으로 설정됩니다
아래는 구조체내의 변수에 대한 초기화 방법입니다.
#include <stdio.h>
#include <stdio.h>
struct Person {
char name[50];
int age;
float height;
};
int main() {
// Initializing a structure variable
struct Person person1 = {"John Doe", 30, 1.75};
// Accessing and printing the values of the structure members
printf("Name: %s\n", person1.name);
printf("Age: %d\n", person1.age);
printf("Height: %.2f meters\n", person1.height);
return 0;
}
결과
Name: John Doe
Age: 30
Height: 1.75 meters
2. memset 함수 사용:
memset 함수를 사용하여 구조체를 0으로 초기화할 수도 있습니다. memset 함수는 메모리 블록을 특정 값으로 설정하는 데 사용됩니다. 구조체의 크기만큼 메모리를 0으로 설정하면 구조체 전체를 0으로 초기화할 수 있습니다. 다음은 memset 함수를 사용하여 example 구조체를 0으로 초기화하는 예입니다:
#include <string.h>
struct myStruct {
int num;
float value;
};
struct myStruct example;
memset(&example, 0, sizeof(struct myStruct)); // 구조체를 0으로 초기화