void Add(int a, int b, int* _Out) // 1
{
*_Out = a + b; // 2
}
int main()
{
int Result = 0;
Add(100, 200, &Result);
return 0;
}
struct PlayerInfo
{
int CurHP;
int MaxHP;
int CurMP;
int MaxMP;
int Att;
int Def;
int Int;
int Dex;
int Agi;
};
void Output(PlayerInfo _info)
{
printf("플레이어 체력 %d / %d", _info.CurHP, _info.MaxHP);
printf("플레이어 체력 %d / %d", _info.CurMP, _info.MaxMP);
printf("플레이어 공격력 %d\n", _info.Att);
printf("플레이어 방어력 %d\n", _info.Def);
}
int main()
{
PlayerInfo info = {};
info.CurHP = 40;
info.MaxHP = 100;
info.CurMP = 40;
info.MaxMP = 50;
info.Att = 10;
info.Def = 8;
Output(info);
}
struct PlayerInfo
{
// 위의 구조체랑 동일
};
void OutputPlayerInfo(const PlayerInfo* _pInfo)
{
// 1
// const를 무시해서 값을 바꿔버린것.
//PlayerInfo* pInfo = (PlayerInfo*)_pInfo;
//pInfo->CurHP += 10;
printf("플레이어 체력 %d / %d", _pInfo->CurHP, _pInfo->MaxHP);
printf("플레이어 체력 %d / %d", _pInfo->CurMP, _pInfo->MaxMP);
printf("플레이어 공격력 %d\n", _pInfo->Att);
printf("플레이어 방어력 %d\n", _pInfo->Def);
}
int main()
{
PlayerInfo info = {};
// 위의 변수들 값이랑 동일.
OutputPlayerInfo(&info);
OutputPlayerInfo(&info);
OutputPlayerInfo(&info);
}
char szString[10] = "abcdef";
int szData[10] = "abc"; // 1 오류
const char* pString = "abcdef";
char c = *pString
char szString[10] = "abcdef";
char c = 0;
c = *(szString + 1); // c = szString[1]; 같은 의미.
szString[1] = 'a'
const char* pString = "abcdef";
char c = 0;
c = *(pString + 1); // c = pString[1];
pString[1] = 'a'; // 1 오류
const char* pString = "abcdef"; // 1
const char* pString2 = "abcdef"; // 2
char szString[10] = "abcdef"; // 3
char sz[10] = "abcdef"; //4
const char* pString = "abcdef";
((char*)pString)[1] = 'a';
char sz[10] = "abcdef" // 1
char data[6] = "abcdef"; // 1오류
char data2[7] = "abcdef";
printf("abcdef")
char character = '\0';
int main()
{
short arrData[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int* pData = (int*)arrData;
pData += 2;
short Value = *((short*)pData);
return 0;
}
int main()
{
char data[2] = { 2, 1 };
short* pData = (short*)data;
Value = *pData;
return 0;
}
void BubbleSort(int* _Data, int _ElementCount)
{
bool bChange = false;
for (int j = 0; j < _ElementCount; ++j)
{
for (int i = 0; i < _ElementCount - (1 + j); ++i)
{
if (_Data[i] > _Data[i + 1])
{
int Temp = _Data[i];
_Data[i] = _Data[i + 1];
_Data[i + 1] = Temp;
bChange == true;
}
}
if (bChange = true)
{
break;
}
}
}
int main()
{
int Data[5] = { 27, 3, 99, 45, 94 };
BubbleSort(Data, 5);
}
#include <iostream>
void InsertionSort(int* _Arr, int _size)
{
for (int i = 1; i < _size; ++i)
{
int Check = _Arr[i];
for (int j = i; j >= 1; --j)
{
if (Check < _Arr[j - 1])
{
_Arr[j] = _Arr[j - 1];
_Arr[j - 1] = Check;
}
}
}
}
int main()
{
//int Data[10] = { 27, 3, 99, 45, 94, 1, 44, 6745, 22, 14 };
int Data[5] = { 5,13,6,7,8 };
InsertionSort(Data, 5);
int k = 0;
return 0;
}
#include <iostream>
struct PlayerInfo
{
int CurHP;
int MaxHP;
int CurMP;
int MaxMP;
int Att;
int Def;
int Int;
int Dex;
int Agi;
};
void Add(int a, int b, int* _Out)
{
*_Out = a + b;
}
void OutputPlayerInfo(const PlayerInfo* _pInfo)
{
//PlayerInfo* pInfo = (PlayerInfo*)_pInfo;
//pInfo->CurHP += 10;
printf("플레이어 체력 %d / %d\n", _pInfo->CurHP, _pInfo->MaxHP);
printf("플레이어 마나 %d / %d\n", _pInfo->CurMP, _pInfo->MaxMP);
printf("플레이어 공격력 %d\n", _pInfo->Att);
printf("플레이어 방어력 %d\n", _pInfo->Def);
}
int main()
{
int a = 0;
int* p = &a;
*p = 100;
int Result = 0;
Add(100, 200, &Result);
PlayerInfo info = {};
info.CurHP = 40;
info.MaxHP = 100;
info.CurMP = 40;
info.MaxMP = 50;
info.Att = 10;
info.Def = 8;
OutputPlayerInfo(&info);
char szString[10] = "abcdef";
const char* pString = "abcdef";
char c = 0;
// 문자열로 초기화 받은 배열의 두번째 문자를 읽어서 변수 c 에 저장하는 경우
c = szString[1];
szString[1] = 'a';
// 직접 문자열로 접근해서 두번째 문자를 읽어서 변수 c 에 저장하는 경우
c = pString[1];
// 컴파일, 링크, -> 런타임 에러(실행도중에 문제 발생)
//((char*)pString)[1] = 'a';
char sz[10] = "abcdef";
const char* pString2 = "abcdef";
// 문자열의 끝 널문자
char data[7] = "abcdef";
printf("abcdef");
char character = '\0';
return 0;
}
1차 23.12.15
2차 23.12.17
3차 23.12.18
4차 23.12.19
5차 23.12.20
6차 23.12.25
7차 24.01.01
8차 24.01.24