2023. 4. 9. 14:55ㆍCode
C언어에서 구조체는 여러 개의 변수를 묶어 하나의 데이터 타입으로 정의할 수 있는 유용한 기능이다.
구조체를 사용하면 서로 관련된 데이터를 함께 묶어, 더 직관적이고 관리하기 쉬운 코드를 작성할 수 있어 흔히 쓰인다.
C언어에서 구조체는 여러개의 변수를 묶어 하나의 데이터 타입으로 정의할 수 있는 유용한 기능을 담당하고,
구조체를 사용하면 서로 관련된 데이터를 함께 묶어내어, 관리하기 쉬운 코드로 보이게 작성해 나갈 수 있다.
구조체를 정의하기 위해서는 Struct 키워드를 사용하며, 구조체 안에는 여러 변수를 넣을 수 있다. 이렇게 선언된 변수들을 구조체 멤버라고 칭하며 구조체 멤버는 다양한 데이터 타입들을 가질 수 있음과 동시에 다른 구조체를 포함시킬 수도 있다. 구조체 선언은 다음과 같은 형태를 주로 가진다.
struct 구조체명 {
데이터타입 변수명1;
데이터타입 변수명2;
// ...
};
예를 들어, 학생 정보를 저장하는 구조체를 작성해 나가고 싶다면 아래와 같이 작성할 수 있다.
struct Student {
char name[50];
int age;
float grade;
};
위와 같이 선언하고 관련 코드를 아래와 같이 작성해 내어 활용할 수 있다.
#include <stdio.h>
#include <string.h>
// 학생 구조체 정의
struct Student {
char name[50];
int age;
float grade;
};
int main() {
// 구조체 변수 선언
struct Student student1;
// 구조체 멤버에 값을 할당
strcpy(student1.name, "홍길동");
student1.age = 20;
student1.grade = 4.3;
// 구조체 멤버 값 출력
printf("학생 정보:\n");
printf("이름: %s\n", student1.name);
printf("나이: %d\n", student1.age);
printf("성적: %.2f\n", student1.grade);
return 0;
}
구조체를 활용하면 얻을 수 있는 정말 많다.
1. 코드가 간결해지고 보기 이뻐진다. ** 솔직히 이거 하나 때문에 쓰는 거 같다.
2. for문이나 while 문을 활용 즉 반복문을 활용하면 변수 값을 쉽게 저장해 나갈 수 있 을 것이다.
그렇다고 장점만 있는 것은 아니다.
대표작인 단점은 조사결과 아래와 같다.
* 구조체를 사용하면 변수를 선언할때 많은 코드를 작성해야 하므로 오히려 코드가 길어질 수 있다.
* 구조체는 포인터와 함께 사용을 할때 메모리 누수와 같은 문제가 발생할 수 있다.
* 구조체를 사용하면 코드의 복잡도가 증가해 나갈 수 있다.
'Code' 카테고리의 다른 글
-Layer7 C언어 포인터 (0) | 2023.04.09 |
---|---|
나만의 Web-hacking 도우미 만들기 (1) (0) | 2022.12.31 |