(Pointer) 대. ¶
란?
란, 떤 변 ''를 는 변. )
변 | 내 | |||
1000 | a | 13 | ||
1004 | b | 14 |
int a = 13; int b = 14; 는 능며, 메모리 떤 는 13 는 데는 a는 변 내.
1000 1004 는 int 4byte 문.( 는 를 )
a = 14; 는 명를 a 내 14 바 . 리 printf("%d", a); 는 명를 바뀐 .
a는 a는 변 내는 (1000) 내 내는 .
a 를 는 방는 '&' 붙는 방 . printf("%u", &a); 1000.(%u 맞? 보. 맞 %u는 는 .)
만 INT 를 내는 변 IP를 면 int* ip; 면 .
int *ip; 능 .( 더 .)
를 들 int *ip, i; 면 뒤 i는 int, ip는 INT .int *ip; 능 .( 더 .)
: 13 13
만 를 '는 모르는 많.-_-;
내 무리 바봤 변 내 바뀌 는. 디 .
)
)
void add(int a, int b, int* cp) {
*cp = a + b; // cp는 리는 a + b 바(main c). }
int main() {
int a = 13, b = 14, c;
add(a, b, &c); // a b , c 를 는. printf("%d", c); // : 27
}
배 ¶
¶
(맨 르면 , 내 . 내 바 만 못 )
를 램 ¶
3 받 를 edit는 2번 받 람 . ) 1
3
5
- 2번 람 -
4
- -
1
4
5
3
5
- 2번 람 -
4
- -
1
4
5
배 동 ?! ¶
바 배 모 는데, printf("%d", *(ap + @)) 보. 모 들 면 @ 떤 들는 보 런 명.
¶
배 동 :
#include <stdio.h>
int main()
{
//: ap+1 1 1byte 1 sizeof(int) * 1 1. 따 for문 는 ap + i 면 .
{
int a5 = {3,4,2,1,8};
int* ap = a;
printf("%d\n", *ap);
printf("%d\n", *(ap+1));
printf("%d\n", *(ap+2));
printf("%d\n", *(ap+3));
printf("%d\n", *(ap+4));
return 0;
}int* ap = a;
printf("%d\n", *ap);
printf("%d\n", *(ap+1));
printf("%d\n", *(ap+2));
printf("%d\n", *(ap+3));
printf("%d\n", *(ap+4));
return 0;
//: ap+1 1 1byte 1 sizeof(int) * 1 1. 따 for문 는 ap + i 면 .
를 램 :
#include <stdio.h>
int main()
{
{
char Name110, Name210, Name310;//
char *NameC;//변
int Num1, Num2, Num3;//
int *NumC;//변
printf("번 람 를 : ");
scanf("%s %d", Name1, &Num1);
printf("\n번 람 를 : ");
scanf("%s %d", Name2, &Num2);
printf("\n번 람 를 : ");
scanf("%s %d", Name3, &Num3);
NameC = Name2;//배 므 Name2 '&' 붙 는.
NumC = &Num2;//Num2는 므 '&' 붙 .
edit(NameC, NumC);// NameC NumC, 를 edit .
printf("\n바뀐 : %s %d %s %d %s %d\n", Name1, Num1, Name2, Num2, Name3, Num3);
return 0;
}char *NameC;//변
int Num1, Num2, Num3;//
int *NumC;//변
printf("번 람 를 : ");
scanf("%s %d", Name1, &Num1);
printf("\n번 람 를 : ");
scanf("%s %d", Name2, &Num2);
printf("\n번 람 를 : ");
scanf("%s %d", Name3, &Num3);
NameC = Name2;//배 므 Name2 '&' 붙 는.
NumC = &Num2;//Num2는 므 '&' 붙 .
edit(NameC, NumC);// NameC NumC, 를 edit .
printf("\n바뀐 : %s %d %s %d %s %d\n", Name1, Num1, Name2, Num2, Name3, Num3);
return 0;