본문 바로가기

프로그래밍/C, C++

C, C++ - 구조체 생성자를 사용하여 초기화

반응형

일반적인 구조체 선언 후 초기화

typedef struct _MY_STRUCT {
	char c;
	int i;
	char sz[100];
} MY_STRUCT;

MY_STRUCT st;
memset(&st, 0x00, sizeof(st));


생성자에서 초기화

typedef struct _MY_STRUCT {
	char c;
	int i;
	char sz[100];

	_MY_STRUCT()
	{
		memset(this, 0x00, sizeof(struct _MY_STRUCT));
	}
} MY_STRUCT;

MY_STRUCT st; // 선언과 동시에 초기화

생성자에서 특정 값으로 초기화

typedef struct _MY_STRUCT {
	char c;
	int i;
	char sz[100];

	_MY_STRUCT()
	{
		memset(sz, 0x00, sizeof(sz));

		c = 'a';
		i = 32;
		strncpy(sz, "abcd", 4);
	}
} MY_STRUCT;

MY_STRUCT st; // 선언과 동시에 특정 값으로 초기화


반응형