포(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;