" async="async"> ', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); 책 알려주는 남자 :: 쉽게 풀어쓴 C언어 Express 11장 Summary

11장 Summary


메모리는 이터를 기준으로 주소가 매겨진다

포인터는 메모리의 주소를 저장할 수 있는 변수이다

변수 x의 주소를 추출하려면 printf("x의 주소: %p", &x);라고 하면 된다.

int *p의 의미는 정수를 가르키는 포인터이다

int 형 포인터 p가 가리키는 위치에 100을 저장하는 문장은 *p=100;이다

포인터가 아무것도 가리키고 있지 않는 경우에는 NULL값을 넣어두는 편이 좋다

배열 a에서 a는 첫번째 원소(=a[0])의 주소이다.         
                    ★열의 이름은 첫번째 원소를 가르키는 포인터(포인터상수)와 같다

P가 포인터라면 p[2]는 수식 *(p+2)와 같다
                    ★a+i는 &a[i]와 같고, *(a+i)는 a[i]와 동일하다

*p++의 의미는 p가 가르키는 값을 가져온 후에 p를 증가한다.

   ★(*p)++ : p가 가르키는 값을 가져온 후에 가르키는 값을 증가한다.
       *++p : p를 증가시킨 수에 p가 가르키는 값을 가져온다
       ++*p : p가 가르키는 값을 증가시킨 후에 가져온다

사칙 연산 중에서 포인터에 대하여 적용할 수 있는 연산에는 덧셈과 뺄셈 이 있다.

int형 포인터 p가 80번지를 가리키고 있었다면 (p+1)은 84번지를 가리킨다

함수 호출시 인수 전달 방법 중에서 기본적인 방법은 "에 의한 호출"이다.

값에 의한 호출(call-by-value)은 복사본이 전달되고
   이 방법만 C에서 지원한다.
 
★참조에 의한 호출(call-by-reference)은 원본이 전달되고
   포인터를 이용해 간접구현이 가능하다.

블로그 이미지

얼음꿀차

책을 한 번 읽긴 읽어야겠는데 막상 읽자니 뭘 읽을지 고민되는 당신을 위해 읽을만한 책들을 알려드립니다!

,