분류 전체보기 썸네일형 리스트형 C 구조체 I. 구조체 #include struct person { char name[16]; //한글: 3n+1, 영어: n+1 int age; }; int main() { struct person = man{"LEE", 39}; //구조체 변수 초기화 struct person* pMan; //구조체 포인터 선언 pMan = &man; //구조체 포인터에 주소 할당 //구조체 변수를 이용한 출력 printf("name: %s\n", man.name); printf("age: %d\n", man.age); //구조체 포인터를 이용한 출력1 printf("name: %s\n", (*pMan).name); printf("age: %d\n", (*pMan).age); //구조체 포인터를 이용한 출력2 printf("na.. 2-7. new & delete new와 delete 연산자의 기본적 기능 메모리를 동적으로 할당 및 소멸하기 위해서 C에서 malloc과 free함수를 썼다면 C++ 에선 new와 delete 키워드가 이 두 함수를 대신한다. int * val = new int; //int형 테이터 1개 저장을 위한 메모리 할당 int * arr = new int[size]; //길이가 size인 int형 배열을 위한 메모리 할당 delete val; //val이 가리키는 메모리 반환 delete []arr; //arr이 가리키는 배열 반환 1: int형 데이터 하나를 저장할 수 있는 메모리 공간을 동적할당 하라는 선언이다. 힙 영역에 4byte 메모리 공간이 할당될 것이고, 할당된 메모리 공간의 주소 값 반환이 이루어진다. C의 malloc 함수는.. 2-5 레퍼런스를 이용한 성능의 향상 부담스러운 Call-By-Value 거두절미 하고 아래의 Call-By-Value 예제를 보자. #include using std::cout; using std::endl; using std::cin; struct _Person { int age; //나이 char name[20]; //이름 char personalID[20]; //주민등록 번호 }; typedef struct _Person Person; void ShowData(Person p) { cout 2-4. 레퍼런스와 함수 레퍼런스의 장점을 알아보기 위해 먼저 아래 코드를 보자. 포인터를 이용한 Call-By-Reference의 예에 잘못된 코드가 한 줄 들어간 것이다. #include using std::cout; using std::endl; void swap(int *a, int *b) { int temp = *a; a++; *a = *b; *b = temp; } int main(void) { int val1 = 10; int val2 = 20; cout 2-3 레퍼런스(Reference)의 이해 레퍼런스란? 레퍼런스란 이미 이름이 있는 대상에게 붙여주는 별명이다. int &ref = val; val이라는 int형 변수의 이름에 ref라는 별명을 붙인 것이다. &연산자는 C++에서 레퍼런스를 선언할 때에도 사용된다. C에서는 주소 값을 얻을 때 사용한다. 레퍼런스의 특징 #include using std::cout; using std::endl; int main(void) { int val = 10; int &ref = val; val++; cout 이전 1 ··· 76 77 78 79 80 81 82 ··· 90 다음