분류 전체보기(14804)
-
생성자 오버로딩(Overloading)
생성자 오버로딩 생성자의 Overloading은 객체를 생성할 수 있는 방법의 수를 제공하는 것 메서드 오버로딩법과 다를 것이 없어 각 생성자의 구분은 인자로 구별하게 됩니다. 생성자의 오버로딩은 하나의 클래스를 기반으로 다양한 형태의 인스턴스 생성을 가능하게 합니다. 메서드 오버로딩(Overloading)http://codedragon.tistory.com/2473
-
Ex02-배열 선언 과 동시에 초기화
배열 선언 과 동시에 초기화 {}(중괄호)를 이용하여 배열에 데이터를 저장 데이터를 저장하지 않은 배열공간은 0으로 자동초기화됩니다. 메모리 구조 int array1[5] = {90,80,70,60,50};int array2[5] = {90,80,70};int array3[ ] = {90,80,70,60,50};배열선언과 동시에 초기화{}로 초기화할 때 초기화하지 않은 배열요소는 0으로 자동 초기화됩니다.자동으로 초기화되는 요소의 수에 따라 길이가 결정됩니다 소스코드 #include int main(void){ // 배열 선언 과 동시에 저장(초기화) int array1[5] = {90,80,70,60,50}; int array2[5] = {90,80,70}; //배열의 길이를 5로 설정, 배열에 90,..
-
Ex01-1차원 배열
1차원 배열 배열선언 후 초기화 배열의 주소는 0부터 시작 배열선언후 초기화를 해주지 않으면 쓰레기값 출력 강의내용 총 20byte 크기의 연속된 메모리 공간 할당. 초기화하지않은 배열요소의 값은 쓰레기값으로 채워짐. 메모리 구조 소스코드 int main(void){ int array[5]; // 배열 선언 //배열 초기화 array[0] = 90; // 배열의 첫 번째 요소에 데이터 저장 array[1] = 80; // 배열의 두 번째 요소에 데이터 저장 array[2] = 70; // 배열의 세 번째 요소에 데이터 저장 printf("첫 번째 array의 값 : %d \n", array[0]); // 90 출력 printf("두 번째 array의 값 : %d \n", array[1]); // 80 출..
-
1차원 배열의 주소와 값의 참조
1차원 배열의 주소와 값의 참조 &는 주소를 참조하는 연산자 & 연산자(주소 연산자) 메모리 공간의 주소를 표현 주소를 나타내는 숫자 상수는 운영체제나 개발 SW 마다 다릅니다. 변수의 주소 표현배열의 주소 표현&변수이름&배열 요소의 위치int a=10, b=20; printf("%x \n", &a); // a의 주소 printf("%x \n", &b); // b의 주소 int array[2] = {10, 20}; printf("%x \n", &array[0]); // array[0]의 주소 printf("%x \n", &array[1]); // array[1]의 주소 &연산자 사용시 메모리 도식도 배열 이름은 배열의 시작 주소 int array[5]int array[5]array 배열 이름이 배열의 시..
-
배열 선언 시 주의할 점
배열 선언 시 주의할 점 배열 요소는 0부터 시작합니다. 배열 초기화를 중괄호로 할 때 배열의 선언과 초기화가 개별적으로 이루어져서는 안 됩니다. 배열의 길이는 상수로 설정해야 합니다. 배열 요소는 0부터 시작합니다. #include int main(void) { int array[2]; // 배열 길이는 2 array[0]=1; // 배열 요소는 0부터 시작 array[1]=2; array[2]=3; // 에러 발생 return 0; } 배열 초기화를 중괄호로 할 때 배열의 선언과 초기화가 개별적으로 이루어져서는 안 됩니다. #include int main(void) { int array1[3]={10, 20, 30}; // 정상적인 초기화 방법 int array2[3]; array2={10, 20, ..
-
* 연산자, *&연산자 - 메모리 구조(총정리)
* 연산자 메모리의 주소 앞에 사용된 경우 *는 메모리 공간에 저장된 값을 참조하는 연산자입니다. 변수의 값 참조배열 요소의 값 참조*&변수이름*&배열 요소int a=10, b=20; printf("%d \n", *&a); // a의 값printf("%d \n", *&b); // b의 값 int array[2] = {10, 20}; printf("%d \n", *&array[0]); // array[0]의 값 printf("%d \n", *&array[1]); // array[1]의 값 *연산자 사용시 메모리 구조 *&는 서로 상쇄되어 없는 것과 동일의미 *&a == a *&는 상쇄되지만 &*는 상쇄되지 않습니다. *&연산자 사용시 메모리 구조 *연산자 &연산자를 통한 메모리 구조(통합) array[i]..