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