๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[inflearn ๊ฐ•์˜] ๊ตฌ์กฐ์ฒด - ๊ตฌ์กฐ์ฒด์™€ ๋ฌธ์ž์—ดํ•จ์ˆ˜ ๋ณธ๋ฌธ

๐Ÿ‘ฉ‍๐Ÿ’ป IoT (Embedded)/C++

[inflearn ๊ฐ•์˜] ๊ตฌ์กฐ์ฒด - ๊ตฌ์กฐ์ฒด์™€ ๋ฌธ์ž์—ดํ•จ์ˆ˜

์ง•์ง•์•ŒํŒŒ์นด 2023. 7. 4. 00:37
728x90
๋ฐ˜์‘ํ˜•

<๋ณธ ๋ธ”๋กœ๊ทธ๋Š” ์–ด์†ŒํŠธ๋ฝ ๊ฒŒ์ž„์•„์นด๋ฐ๋ฏธ ๋‹˜์˜ ์œ ํŠœ๋ธŒ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค :-)>

=> C++ Let's Make Games

 

๐Ÿซง ๊ตฌ์กฐ์ฒด์™€ ๋ฌธ์ž์—ดํ•จ์ˆ˜

๊ตฌ์กฐ์ฒด : ๊ด€๋ จ์žˆ๋Š” ๋ณ€์ˆ˜๋“ค์„ ๋ชจ์•„์„œ ํ•˜๋‚˜์˜ ์ƒˆ๋กœ์šด ํƒ€์ž…์„ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ธฐ๋Šฅ, ์‚ฌ์šฉ์ž ์ •์˜ ๋ณ€์ˆ˜ ํƒ€์ž…

struct ๊ตฌ์กฐ์ฒด๋ช… {};


๋ฐฐ์—ด๊ณผ ๊ตฌ์กฐ์ฒด์˜ ๊ณตํ†ต์ 
1. ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ
2. ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋Ÿญ์— ํ• ๋‹น๋จ, ๊ตฌ์กฐ์ฒด ๋ฉค๋ฒ„๋“ค์€ ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋Ÿญ์œผ๋กœ ์žกํž˜

๊ตฌ์กฐ์ฒด ๋ฉค๋ฒ„์— ์ ‘๊ทผํ•  ๋•Œ .์ด์šฉํ•ด์„œ ์ ‘๊ทผ

tStudent.iKor = 100;

 

strcpy_s ํ•จ์ˆ˜

strcpy_s(tStudent.strName, "๊ฐ€๋‚˜๋‹ค๋ผ abcd");

: ๋ฌธ์ž์—ด ๋ณต์‚ฌํ•˜๊ธฐ
: ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ๋ฌธ์ž์—ด์„ ์™ผ์ชฝ์œผ๋กœ ๋ณต์‚ฌ
: ๋ฌธ์ž์—ด์˜ ๋์€ ํ•ญ์ƒ 0(null)๋กœ ๋๋‚˜์•ผ ํ•œ๋‹ค
: ๊ฐ ๋ฐฐ์—ด์š”์†Œ์— ๊ฐ’ ๋„ฃ์–ด์ฃผ๋ฉด ๊ทธ ๊ฐ’ ์ถœ๋ ฅ
: ๋„ฃ์–ด์ฃผ์ง€ ์•Š์€ ๊ฐ’ ๋ถ€๋ถ„์€ ์“ฐ๋ ˆ๊ธฐ๊ฐ’ ์ถœ๋ ฅ
: strcpy_s ๋Š” ์ž๋™์œผ๋กœ ๋์— ํ•ญ์ƒ 0(null) ๋„ฃ์–ด์คŒ

strcat_s ํ•จ์ˆ˜

strcat_s(tStudent.strName, "๋ฌธ์ž์—ด ๋ถ™์ด๊ธฐ");

: ๋ฌธ์ž์—ด์„ ๋ถ™์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ

strcmp ํ•จ์ˆ˜

strcmp(tStudent.strName, "ํ™๊ธธ๋™");

: ๋‘ ๋ฌธ์ž์—ด์„ ๋น„๊ตํ•˜์—ฌ ๊ฐ™์€ ๊ฒฝ์šฐ 0 ๋ฐ˜ํ™˜
: ๋‹ค๋ฅผ ๊ฒฝ์šฐ 0์ด ์•„๋‹Œ ๊ฐ’ ๋ฐ˜ํ™˜

strlen ํ•จ์ˆ˜

strlen(tStudent.strName);

: ๋ฌธ์ž์—ด ๊ธธ์ด

#include <iostream>
using namespace std;

#define NAME_SIZE	64
/*
๊ตฌ์กฐ์ฒด : ๊ด€๋ จ์žˆ๋Š” ๋ณ€์ˆ˜๋“ค์„ ๋ชจ์•„์„œ ํ•˜๋‚˜์˜ ์ƒˆ๋กœ์šด ํƒ€์ž…์„ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ธฐ๋Šฅ
์‚ฌ์šฉ์ž ์ •์˜ ๋ณ€์ˆ˜ ํƒ€์ž…
struct ๊ตฌ์กฐ์ฒด๋ช… {};

๋ฐฐ์—ด๊ณผ ๊ตฌ์กฐ์ฒด์˜ ๊ณตํ†ต์  :
1. ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ
2. ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋Ÿญ์— ํ• ๋‹น๋จ
๊ตฌ์กฐ์ฒด ๋ฉค๋ฒ„๋“ค์€ ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋Ÿญ์œผ๋กœ ์žกํž˜

*/

struct _tagStudent {
	char	strName[NAME_SIZE];
	int		iNumber;
	int		iKor;
	int		iEng;
	int		iMath;
	int		iTotal;
	float	fAvg;
};
int main() {
	_tagStudent tStudent = {};
	_tagStudent tStudentArr[100] = {};

	// ๊ตฌ์กฐ์ฒด ๋ฉค๋ฒ„์— ์ ‘๊ทผํ•  ๋•Œ .์ด์šฉํ•ด์„œ ์ ‘๊ทผ
	tStudent.iKor = 100;

	// strcpy_s ํ•จ์ˆ˜ ์ด์šฉํ•ด์„œ ๋ฌธ์ž์—ด ๋ณต์‚ฌํ•˜๊ธฐ
	// ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ๋ฌธ์ž์—ด์„ ์™ผ์ชฝ์œผ๋กœ ๋ณต์‚ฌ
	// ๋ฌธ์ž์—ด์˜ ๋์€ ํ•ญ์ƒ 0(null)๋กœ ๋๋‚˜์•ผ ํ•œ๋‹ค
	// ๊ฐ ๋ฐฐ์—ด์š”์†Œ์— ๊ฐ’ ๋„ฃ์–ด์ฃผ๋ฉด ๊ทธ ๊ฐ’ ์ถœ๋ ฅ
	// ๋„ฃ์–ด์ฃผ์ง€ ์•Š์€ ๊ฐ’ ๋ถ€๋ถ„์€ ์“ฐ๋ ˆ๊ธฐ๊ฐ’ ์ถœ๋ ฅ
	// strcpy_s ๋Š” ์ž๋™์œผ๋กœ ๋์— ํ•ญ์ƒ 0(null) ๋„ฃ์–ด์คŒ
	strcpy_s(tStudent.strName, "๊ฐ€๋‚˜๋‹ค๋ผ abcd");

	// strcat_s ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด์„ ๋ถ™์—ฌ์ฃผ๋Š” ๊ธฐ๋Šฅ
	strcat_s(tStudent.strName, "๋ฌธ์ž์—ด ๋ถ™์ด๊ธฐ");

	// strcmp ํ•จ์ˆ˜๋Š” ๋‘ ๋ฌธ์ž์—ด์„ ๋น„๊ตํ•˜์—ฌ ๊ฐ™์€ ๊ฒฝ์šฐ 0 ๋ฐ˜ํ™˜
	// ๋‹ค๋ฅผ ๊ฒฝ์šฐ 0์ด ์•„๋‹Œ ๊ฐ’ ๋ฐ˜ํ™˜
	strcmp(tStudent.strName, "ํ™๊ธธ๋™");

	// strlen ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด ๊ธธ์ด
	strlen(tStudent.strName);

	cout << "๋น„๊ตํ•  ์ด๋ฆ„ : ";
	char strName[NAME_SIZE] = {};
	cin >> strName;

	strcpy_s(tStudent.strName, "๊ฐ€๋‹ˆ");

	if (strcmp(tStudent.strName, strName) == 0) {
		cout << "ํ•™์ƒ ์ฐพ์Œ" << endl;
	}
	else {
		cout << "ํ•™์ƒ ์—†์Œ" << endl;
	}

	cout << "์ด๋ฆ„ : " << tStudent.strName << endl;
	cout << "ํ•™๋ฒˆ : " << tStudent.iNumber << endl;
	cout << "๊ตญ์–ด : " << tStudent.iKor << endl;
	cout << "์˜์–ด : " << tStudent.iEng << endl;
	cout << "์ˆ˜ํ•™ : " << tStudent.iMath << endl;
	cout << "์ด์  : " << tStudent.iTotal << endl;
	cout << "ํ‰๊ท  : " << tStudent.fAvg << endl;
	return 0;;
}

728x90
๋ฐ˜์‘ํ˜•
Comments