토론(2)
-
20150307 토론정리
오프라인 토론 - 혼자 연구하는 C/C++ 정리11장 배열과 포인터c에는 실제로 2차원 배열은 없다- 왜냐면 메모리는 선형 구조이기 때문이다.메모리상에는 선형으로 정의된다. 배열은 사실 포인터다. 첨자 연산은 내부적으로 포인터의 값 증가.- 서기가 적어놓은 것이긴 하지만. 배열이 포인터란 말은 조금 이상하지싶다.배열 접근의 내부적 연산이 배열과 같다는 것이지 배열이 포인터라고 표현하는건 조금 아닌거같다.배열의 배열명은 시작 주소를 가지는 포인터 상수이다.ar[10]이란 것이 있다면 컴파일러는 내부적으로 이것을 *(ar+10)으로 바꿔서 접근한다.그렇기 때문에 일반적으로 배열이 포인터보다 아주 살짝 느리다. 포인터 배열 = 요소가 포인터인 배열. 끝.이중 포인터 배열 **ptr[3]이라면 **ptr을 3개..
2015.03.07 -
20150306 토론정리
혼자 연구하는 c 정리.3장 [ 변수 ]진법 변환 주소 값은 왜 16진수?- 메모리 체계에서 2진 비트단위로 나타내는데 1바이트는 4바이트씩 2개해서 8바이트다.바이트 단위로 4개를 읽기 위해서 4비트로 표현할 수 있는 수는 16가지다.그래서 이를 활용하기 쉽게 16진수로 표현하는 것이다.실제 10진 정수형이었다면 자릿수가 바뀌고 사용하는데 매우 불편했을 것이다. 변수의 정의- 사전적 의미론 변할 수 있는 수, 데이터의 보존과 관리를 위함이다. 메모리 관리를 효율적으로 할 수 있다. int a를 선언하면 일어나는 일- 32비트 운영체제로부터 메모리공간 어딘가에 int형 정수 4바이트 만큼 할당받고그 주소위에 a라는 방을 만들고 그 방엔 쓰레기값이 들어있다. 왜 쓰레기 값이 다 같은가?- 내가 제시. 디버..
2015.03.07