본문 바로가기

Language&Framework&Etc112

포인터와 배열! 함께 이해하기(13-1) 포인터와 배열의 관계 배열 이름도 포인터! 배열의 이름은 무엇을 의미하는가? 배열의 이름은 포인터다 그 값을 바꿀 수 없는 '상수 형태의 포인터' 이다. #include int main(void) { int arr[3] = { 0, 1, 2 }; printf("배열의 이름 : %p \n", arr); printf("첫 번째 요소 : %p \n", &arr[0]); printf("두 번째 요소 : %p \n", &arr[1]); printf("세 번째 요소 : %p \n", &arr[2]); return 0; } "int형 배열요소간 주소 값의 차는 4바이트다" "모든 배열요소가 메모리 공간에 나란히 할당된다" "배열의 첫 번째 바이트의 주소 값이 0x0116F6D4인데, 배열의 이름을 출력한 결과도 이와 같다." "배열의 이.. 2020. 12. 7.
포인터의 이해(12-2) 포인터와 관련 있는 연산자: &, * &, * : 포인터 연산자 변수의 주소 값을 반환하는 & 연산자 & : 피연산자의 주소 값을 반환하는 연산자 #include int main(void) { int num = 7; int* pnum = # // num의 주소 값을 반환해서 포인터 변수 pnum을 초기화 } & 연산자의 피연산자는 변수(상수 X) 변수의 자료형에 맞지 않는 포인터 변수의 선언은 문제가 될 수 있다. #include int main(void) { int num1 = 7; double* pnum1 = &num1; // 일치하지 않음 double num2 = 5; int* pnum2 = &num2; // 일치하지 않음 } 컴파일 에러는 발생하지 않지만 포인터 관련 * 연산 시 문제가 발생한다. 포인터가 가리키는 메모리를 참.. 2020. 12. 7.
포인터의 이해(12-1) 포인터란 무엇인가? 포인터(pointer)는 프로그래밍 언어에서 다른 변수, 혹은 그 변수의 메모리 공간주소를 가리키는 변수를 말한다. 포인터가 가리키는 값을 가져오는 것을 역참조 [위키백과 참조] 포인터 (프로그래밍) - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 포인터(pointer)는 프로그래밍 언어에서 다른 변수, 혹은 그 변수의 메모리 공간주소를 가리키는 변수를 말한다. 포인터가 가리키는 값을 가져오는 것을 역참조 ko.wikipedia.org C언어가 Low 레벨 언어의 특성을 지닌다고 이야기하게 만든 장본인 왜? 포인터를 이용하면 메모리에 직접 접근이 가능하기 때문 주소 값의 저장을 목적으로 선언되는 포인터 변수 변수가 메모리에 어떻게 존재하게 되는지 확인 #include int main.. 2020. 12. 7.
1-5 이름공간(namespace)에 대한 소개 추가(함수 선언 정의) 함수의 선언과 정의를 나눈다. #include namespace lab1 { void simplefunc(void); // 함수 원형 선언 } namespace lab2 { void simplefunc(void); // 함수 원형 선언 } int main(void) { lab1::simplefunc(); lab2::simplefunc(); return 0; } void lab1::simplefunc(void) // 정의 { std::cout 2020. 11. 18.