Language

· Language/C++
지역 변수 (Local Variable) – 선언한 지역을 벗어나면 기억 공간에서 자동 소멸 – 지역은 { } 로 구분 #include int main() { int a = 30; { int a = 60; printf(“1. a: %d\n”, a); } printf(“2. a: %d\n”, a); return 0; } 1. a: 60 2. a: 30 정적 변수 (Static Variable) – 정적 변수 사용하면 영역을 벗어나도 메모리 공간에서 소멸하지 않음 – 값 또한 그대로 유지 – 일종의 한번 선언하고 나면 계속 유지되는 변수 – 초기화 하지 않으면 자동으로 0으로 초기화 #include void count() { static int c; c = c + 1; printf(“c: %d\n”, c);..
· Language/C++
증상 보안상의 이유로 scanf가 아닌 scanf_s 사용 권장 error C4996: ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 이 함수 또는 변수는 안전하지 않을 수 있습니다. scanf_s를 대신 사용하는 것이 좋습니다. 사용 중단을 사용하지 않도록 설정하려면 _CRT_SECURE_NO_WARNINGS를 사용합니다. 자세한 내용은 온라인 도움말을 참조하세요 해결 방법 scanf 대신 scanf_s 사용 또는 코드 맨 위에 #define _CRT_SECU..
· Language/C++
Memory allocation malloc은 코딩에서 동적 메모리 할당이라는 부분을 배울 때 가장 처음 등장하는 단어입니다. 이는 memory allocation의 준말로 정해진 static 공간이 아닌 dynamic한 공간이 프로그램에서 필요할 때 사용합니다. #include int main() { int length; char str1[100]; char *str2; printf("Input size: "); scanf("%d", &length); str2 = (char*)malloc(sizeof(char) * length + 1); // ... // 해제 } 사용자가 글자를 입력하는 상황이 발생할 때, 위와 같이 str1처럼 정적으로 받는 방식과 str2처럼 실제 필요한 크기만큼 동적으로 할당해서..
· Language/C++
언젠지 기억이 나지 않지만 인벤토리에 들어갈 아이템 정보를 기입하는 알고리즘이였는데 당시에는 아이템 이름은 string형이지만 공격력은 int형, 공격속도는 char형이였다. 이런 자료형에 대한 입력을 받기도 애매했고 구분하기도 애매했다. 아래 코드를 통해 살펴보자 먼저 입력받을 정보에 대한 클래스를 생성한다. class Person { public: string m_name; // NOT NULL short m_age; // NOT NULL char m_sex; // NOT NULL // 'M' or 'F' int m_birth; // YYYYMMDD; }; Person 클래스를 생성하여 속성으로 이름, 나이, 성별, 생일을 가지도록 한다. (사실 생년월일을 보통 int형으로 하진 않는데.. 그냥 넘어..
lasiyan
'Language' 카테고리의 글 목록 (2 Page)