[C] 백준 10718번 We love kriii
·
Computer Science/자료구조와 알고리즘
1. 문제 강한친구 대한육군 강한친구 대한육군 을 출력한다. 2. 코드 #include int main(){ printf("강한친구 대한육군\n강한친구 대한육군"); return 0; } 3. 풀이 \n : 줄바꿈문자 https://www.acmicpc.net/problem/10718 10718번: We love kriii ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올 해에도 파주 World Finals 준비 캠프에 참여했다. 대회를 뜰 줄 모르는 지박 www.acmicpc.net
[C] 백준 2557번 Hello World
·
Computer Science/자료구조와 알고리즘
1. 문제 Hello World!를 출력한다. 2. 코드 #include int main(void){ printf("Hello World!"); return 0; } https://www.acmicpc.net/problem/2557 2557번: Hello World Hello World!를 출력하시오. www.acmicpc.net
[C++ ERROR] LNK2001 error
·
Computer Science/기타 error
error LNK2001 : "~~" 외부기호를 확인할 수 없습니다. 에러 이유: 클래스 내부에 static 변수를 선언 -> 해당 static 변수를 찾을 수 없을 때 발생 즉, static 변수를 클래스 내부에 선언하고 생성자 내에서 초기화 해 줄 때 객체가 생성될 때마다 리셋기 때문에 에러가 발생함 // A.h class A{ private: static int a; public: A(); } //A.cpp A::A(){ a=10; } int A::a=10;을 해주어야한다. // A.h class A{ private: static int a; public: A(); } //A.cpp int A::a=10;//수정부분 A::A(){ a=10; } static 변수는 전역변수의 성질도 갖고있기 때문에 ..
[C++] 접근자와 설정자
·
Computer Science/Programming Language
접근자 (accessor) : 멤버 변수 값을 반환하는 멤버 함수 설정자 (mutator) : 멤버 변수 값을 변경하는 멤버 함수 접근자와 설정자 - 일반적으로 get이나 set이 멤버함수의 이름 앞에 붙여짐 ex. getSpeed(), setSpeed() - 사용 이유 (1) 정보 은닉 클래스의 인터페이스와 구현을 분리하는 것이 좋은데, 이 이유는 구현을 변경하기 쉬워지기 때문 ex) gear 변수를 advanced_gear 변수로 변경한다고 가정 만약 외부에서 gear멤버 변수를 직접 사용했다면 gear멤버 변수의 이름 마음대로 변경 불가능 하지만, 접근자와 설정자 사용시 변경 편리 //변경 전 int getGear(){ return gear; } void setGear(ing g){ gear=g; ..
[C++] 객체의 동적 생성
·
Computer Science/Programming Language
동적으로 객체 생성 - new 사용 객체에 대한 포인터 사용하여 객체 사용 명시적으로 객체 삭제 - delete 사용 Car *dynCar = new Car;//동적 객체 생성 dynCar -> speed = 100;//동적 객체 사용 delete dynCar;//동적 객체 삭제 #include #include using namespace std; class Car { public: //멤버 변수 선언 int speed; //속도 int gear;//기어 string color;//색상 //멤버 함수 선언 void speedUp() {//속도 증가 멤버 함수 speed += 10; } void speedDown() {//속도 감소 멤버 함수 speed -= 10; } void show() {//상태 출력..
[C++] 함수 호출 시 인수 전달 방식
·
Computer Science/Programming Language
함수가 외부로부터 매개 변수를 통하여 데이터를 받는 방법(함수 호출 시 인수 전달 방식) (1) 값에 의한 호출(call by value) (2) 참조에 의한 호출(call by reference) 값에 의한 호출 (= 복사본 전달) "복사본 전달"인 이유: 복사본을 아무리 바꿔도 원본이 바뀌지 않음 #include using namespace std; void swap(int x, int y); int main() { int a = 100, b = 200; cout
[C++] 참조자(reference)
·
Computer Science/Programming Language
참조자(reference) : 변수에 별명을 붙여 접근 - 변수 var 선언 후 ref라고 하는 별명 붙이기 (& 사용) int var = 10; int &ref = var; // 참조자에 값을 대입하면 참조자가 참조하는 변수의 값이 변경됨 ref = 20; // var의 값이 20으로 변경됨 참조자 (reference) vs 포인터 (pointer) 1. 참조자는 선언과 동시에 초기화 되어야 함 int &ref;// 컴파일 에러 2. 포인터는 변수이기 때문에 포인터가 가리키는 대상은 변경될 수 있음 참조자는 자신만의 메모리 공간이 할당되지 않기 때문에 참조자가 가리키는 대상은 변경될 수 없음 int &ref = var1; ref = var2;//컴파일 에러 : 참조하는 대상을 변경할 수 없음 3. 참조..
[C/C++] 동적 메모리 할당(dynamic memory allocation)
·
Computer Science/Programming Language
동적메모리 할당(dynamic memory allocation) : 프로그램이 실행 도중에 동적으로 메모리를 할당받는 것 - 필요할 때 필요한 만큼만 할당받을 수 있기 때문에 메모리 효율적 사용 가능 (1) 할당받을 크기 결정 후 라이브러리 함수를 호출하여 운영 체제에게 메모리를 요청 (2) 충분한 메모리가 존재하면 위의 요청이 승인되고 메모리가 할당됨 (3) 프로그램 : 할당된 메모리 사용 (4) 사용이 끝나면 메모리를 다시 운영체제에 반납함 - 반납하지 않으면 다른 프로그램이 동적 메모리를 사용할 수 없게 됨 - malloc( )과 free( ) 라고 하는 라이브러리 함수 사용 malloc( ) 과 free( )를 C++에서 사용할 경우 아래와 같이 사용한다 #include using namespac..