전체 글
[프로그래밍] ASCII 코드표
ASCII 코드 대문자 A ~ Z : 65 ~ 90 소문자 a ~ z : 97 ~ 122 대문자와 소문자는 32 차이 공백 문자 32
[C++] 객체 포인터
객체 포인터 객체에 대한 포인터 변수를 선언하고, 포인터 변수를 통해 객체의 멤버 변수를 읽고 값을 쓰거나 멤버 함수를 호출 1234567891011121314#include using namespace std; int main() { Circle donut; double d; Circle *p; //객체 포인터 선언 p = &donut; //donut 객체 주소 저장 d = donut.getArea(); d = p->getArea(); // 포인터를 통해 멤버 함수 호출 d = (*p).getArea(); return 0;}Colored by Color Scriptercs 객체 포인터 변수에 객체의 주소를 저장하고, 포인터를 이용하여 객체 멤버를 접근한다. 객체 이름으로 멤버를 접근할 때는 점(.) 연..
[C++] 문자열 (C-string, string)
1. C-string 은 널 문자로 끝나는 char 배열을 말합니다. 2. string 문자열을 객체로 다루는 방법, 권장하는 방법 C++에서는 C언어와의 호환성 때문에 C-string 을 그대로 사용합니다. getline을 이용한 간단한 입출력 예제입니다. 12345678910111213141516171819#include #include using namespace std; int main(){ string s; char str[100]; while(cin.getline(str,100)) //배열 버전 { cout
[알고리즘] Selection Sort 선택 정렬
선택 정렬 가장 작은 수를 찾으면서 정렬 ( 왼쪽부터 작은 수가 정렬됨) 123456789101112131415161718192021222324252627282930313233343536#include using namespace std; int main(void){ //1 15 5 3 9 7 6 4 2 10 8 1 11 11 12 int nums[] = {1, 15, 5, 3, 9, 7, 6, 4, 2, 10, 8, 1, 11, 11, 12}; int arrSize = sizeof(nums)/sizeof(nums[0]); for(int i = 0 ; i
[알고리즘] Bubble Sort, 버블 정렬
양 옆의 수를 바꿔주면서 진행하는 정렬 가장 오른쪽에 큰 수가 정렬되면서 진행 O(n^2) 123456789101112131415161718192021222324252627282930313233343536373839#include using namespace std; int time = 0; int main(void){ int nums[] = {1, 15, 5, 3, 9, 7, 6, 4, 2, 10, 8, 1, 11, 11, 12}; int arrSize = sizeof(nums)/sizeof(nums[0]); for(int i = 0 ; i
Data, Stack 과 Heap
Stack 과 Heap 출처 : http://blog.naver.com/xisaturn/220645637384 Code - 작성한 소스 코드가 들어간다. - 상수, 컴파일 된 기계어 - 프로그램이 끝날 때까지 메모리에 계속 적재. Data - 전역 변수와 static 변수가 할당되는 영역 - 프로그램의 시작과 동시에 할당되고, 프로그램이 종료되어야 메모리에서 소멸됨 - 전역 변수는 프로그램 실행 시, main 함수가 호출되기 전에 데이터 영역에 할당 Stack - 함수 호출 시 생성되는 지역 변수와 매개 변수가 저장되는 영역 - 함수 호출이 완료되면 사라짐 - 프로그램이 자동으로 사용하는 임시 메모리 영역 - 컴파일 시에 크기가 결정된다. Heap - 필요에 의해 동적으로 메모리를 할당 할 때 사용- m..
[C++] const의 개념
const의 개념 const int n = 10; // 변수를 상수화, n = 12; 가 불가능 const int* n; // 포인터 상수화, n = &b; 인 상태에서 n = &a; 가 불가능 int* const n; // 포인터 상수화 const int* const n // 포인터 n, n이 가리키는 데이터도 상수화
[C++] namespace 와 std
namespace 와 std namespace는 프로젝트를 여러 명이 나누어 개발하거나 다른 사람이 작성한 소스 코드나 목적 파일을 가져와서 사용하는 경우 같은 이름(identifier) 의 클래스, 상수, 변수, 메소드의 이름이 충돌하지 않도록 막기 위해 이름 공간을 생성한다. 이름 공간 내에 생성된 이름들은 별개의 이름으로 취급되어 충돌을 막음 namespace piggy { } piggy::sum() std:: 이란 ANSI C++ 표준에서 정한 표준 이름 공간으로 모든 C++ 표준 라이브러리는 std 이름 공간에 만들어져 있다. C++ 표준 입출력 라이브러리에 포함된 cout, endl 등은 std:: 와 함께 사용된다. 생략하기 위해 using namespace std; 응 용 123456789..
[C++] 이것저것 코드들
1. cpp 파일 기본 형태2. 입, 출력3. Random4. 문자열을 정수로 바꾸는 함수 Ctrl + F cpp 파일 기본 형태 #include using namespace std; int main(void){ return 0;} 입, 출력 #include 의 cout, cin cout > num; //입력 cin.getline(char buf[], int size, char delimitChar) 인자1. 입력한 문자열을 저장할 배열2. 1배열의 크기3. 문자열 입력의 끝을 알릴 구분 문자, default는 \n - 에 정의된 cin의 멤버함수- cin.getline( , ) 으로도 사용 가능 // 구분 문자 생략 getline() 1. 에 정의2. string 형에 문자열 저장3. getline(c..
[C++] 바람직한 C++ 프로그램 작성
바람직한 C++ 프로그램 작성 1. 헤더 파일과 cpp 파일을 분리하라 클래스의 선언부를 .h 파일에, 클래스의 구현부를 .cpp 파일에 작성할 것. Circle.h 와 Circle.cpp로 구현했다면 Circle 클래스를 이용하기 위한 코드에서는 #include "Circle.h" (메인 함수, Circle.cpp 등등) 2. 헤더 파일 중복 include 하는 것을 막기 위해 #ifndef, #define, #endif 문 작성 헤더 파일에 조건 컴파일 문을 삽입 하라 #ifndef CIRCLE_H#define CIRCLE_H class Circle {private :int rad;public :Circle();double getArea();~Circle();}; #endif