본문 바로가기

전체 글

# C언어 포인터 : const 포인터 상수 기초 1( 포인터에 붙이기 VS 상수에 붙이기 ) #include int main() { // 기본원리 : const 바로 뒤에 붙은 애는 변경할 수 없다. //1, " const type * 변수" 형태 ( type 앞에 const 가 붙을 때 ) int i =10, j =20; const int *p = &i; printf("%d\n",*p); // 10 p = &j; printf("%d\n",*p); // 20 /* 설명 *p를 상수로 고정한다는 것이다. 즉, *p는 무조건 고정된 값이고, 설령 *p 혹은, p를 바꾸고 싶다고 하더라도 *p는 변경할 수 없다 즉, 만약 *p 혹은 p 를 변화시키고자 한다면 p 를 변화시켜야 한다 예를 들어, *p = j ; 이렇게 하면 error 가 뜬다 위의 코드를 보면, *p 가 처음에는 i 를 출력하고 있었다.. 더보기
# C언어 포인터 : 이중 포인터 기초 1 #include int main() { int i =20; int *pi = &i; int **dpi = π /* int *pi = &i; 는 다음과 같이 표현할 수도 있다. >> int *pi; pi = &i; 즉, 다시 말해서, pi 는 i 의 주소값을 가리키는 포인터이다. 그러므로 출력시 *pi = i , 즉, i 의 상수값이 출력된다. 이번에는 int **dpi 를 살펴보자 int **dpi = π 도 다른 식으로 표현될 수 있다. >> int **dpi ; dpi = π 이제 **dpi 즉, 이와 같이 **가 2개 붙으면, 이중 포인터라고 생각하면 된다. 이중 포인터 dpi 는 포인터 pi 의 주소값을 가리키는 것. 그러므로 *dpi 는, 포인터 pi 의 '값'을 가리킬 것인데, 여기서 pi 의.. 더보기