ZeroPage</a> (새-날다람쥐 6 9일) ='perma' href='#s-1'>¶
-> 홈으로class='line-anchor' id='line-5'>an>
포인터(Pointer)에 대서. class='perma' href='#s-2'>¶
포인터란? n class='line-anchor' id='line-8'>span>
/>
/>
포인터란, 어 변수의 '주'를 조하 변수다. )lass='line-anchor' id='line-10'>an>
주소 </td>lass="center" colspan='2'> 변수 </td> | lass="center" colspan='2'> 내용 </td> | |
1000 d>ss="center" colspan='2'> a | class="center" colspan='2'> 13 d> | |
1004 d>ss="center" colspan='2'> b | class="center" colspan='2'> 14 d> | |
int a = 13; int b = 14; 이라는 언을 해 가능하며, 메모 상의 어떤 소에 있는 13 이라 데이는 a는 변의 이름을 해서 타내진다.
여기서 주소 1000 후에 1004 인 유는 int가 4byte이기 때문다.(여기서 소는 를 든 것임)
a = 14; 는 명령어를 통해 a의 내을 14 바꿀 수 있. class='line-anchor' id='line-20'>pan>> 그리고 printf("%d", a); 라는 령어 통해 바뀐 을 확할 수 있다.<span class='line-anchor' id='line-21'>
a라는 은 a는 변가 나타내는 주소(1000)의 용을 나타내주는 이다.
a의 주를 표현하는 방법는 '&'을 이는 법이 있다. <span class='line-anchor' id='line-23'>printf("%u", &a); 결과값은 1000이다.(%u 맞? ㅋㅋ 찾아길. 맞을꺼야 %u는 소값 표현는 표현식.)<span class='line-anchor' id='line-24'>
>
만약에 INT형 주소 나타내는 수 IP 선언고 싶으면 int* ip; 고 표하면 된다.pan class='line-anchor' id='line-28'><br />
int *ip; 도 가한 표이다.(이게 간 더 옳은 현.) <span class='line-anchor' id='line-30'>
예를 어 int *ip, i; 렇게 하면 의 i는 일반인 int, 앞 ip는 인터 INT형으로 선이 된.class='line-anchor' id='line-32'>pan>int *ip; 도 가한 표이다.(이게 간 더 옳은 현.) <span class='line-anchor' id='line-30'>
>
/>
결과값 : 13 13
하지만 포인를 왜'쓰는지 잘 모는 경우가 다.-_-;
함수 에서 을 아무리 꿔봤 지역수 의 내용 바뀌 않는다. 이을 어디서나 쓸 수 있게 기 위서. pan class='line-anchor' id='line-40'><br />
예) class='line-anchor' id='line-41'>span>
/>
/>
void add(int a, int b, int* cp) { pan class='line-anchor' id='line-43'><br />
*cp = a + b; // cp라는 인터 가리는 주소의 을 a + b로 바준다(main 함 안의 c). />
} lass='line-anchor' id='line-47'>an>
int main() { class='line-anchor' id='line-49'>span>
/>
/>
int a = 13, b = 14, c; n class='line-anchor' id='line-52'></span>
/>
add(a, b, &c); // a와 b의 값을, c의 주를 넣는다. <span class='line-anchor' id='line-55'>/>
printf("%d", c); // 결과 : 27pan class='line-anchor' id='line-58'><br />
} lass='line-anchor' id='line-61'>an>
배열과 포인 s='perma' href='#s-3'>¶;
>"sc-3">
배열은 여러의 변가 모인 형이다.
은 int a5an> = {3, 4, 2, 1, 8};을 언한 형태이다. class='line-anchor' id='line-72'>span>
/>
와 같 배열 번지수를 어주야 한는건lass='line-anchor' id='line-75'>an>
int* ap = a; class='line-anchor' id='line-79'>span>
/>
1000 | 3 | r>|
1004 | 4 | r>|
1008 | 2 | r>|
1012 | 1 | r>|
1016 | 8 | r>
은 int a5an> = {3, 4, 2, 1, 8};을 언한 형태이다. class='line-anchor' id='line-72'>span>
/>
여기서 주목 점은 우리가 출력 때 an class='line-anchor' id='line-73'>
printf("%d", aref='/wiki.php/0' >0);<span class='line-anchor' id='line-74'>와 같 배열 번지수를 어주야 한는건lass='line-anchor' id='line-75'>an>
왜 printf("%d", a); 와 이 적면 안되는지 알아자. an class='line-anchor' id='line-76'>
a == &a='/wiki.php/0' >0</a>class='line-anchor' id='line-77'>pan>
>
이라는 것을 우도 하고 ass='line-anchor' id='line-78'>n>a == &a='/wiki.php/0' >0</a>class='line-anchor' id='line-77'>pan>
>
int* ap = a; class='line-anchor' id='line-79'>span>
/>
라고 다면 ap에는 a의 첫 째 변수(aref='/wiki.php/0' >0) 주소 들어가게 다. an class='line-anchor' id='line-81'>
물론 력할 는 printf("%d", *ap); 같이 a'/wiki.php/0' >0a>을 출력할 도 있.class='line-anchor' id='line-82'>pan>
>
물론 력할 는 printf("%d", *ap); 같이 a'/wiki.php/0' >0a>을 출력할 도 있.class='line-anchor' id='line-82'>pan>
>
이것은 캐릭, 더블 등 다 변수에도 두 적된다. ass='line-anchor' id='line-83'>n>
과제 class='perma' href='#s-4'>¶>
(맨 밑 고치기 버을 누면 수정할 있고, 자기 름 밑에 내 쓰기. 위의 용은 바꿔도 되지 책임짐 ㅋㅋ) n class='line-anchor' id='line-87'></span>
/>
/>