#include<stdio.h>
void func(int *);
int main(){
int ary[5];
int *ap=ary; //
int n=1;
for(int i=0; i<5; i++)
*(ap+i) = n++; // 포인터 표현법
//ap[i] = n++; //배열 표현법
//ary[i] = n++; //배열 표현법
func(ary); //배열명이 포인터
return 0;
}
void func(int *ap){ //포인터 변수로 배열의 시작 주소를 받아줘야 함
for(int i=0; i<5; i++)
printf("%d ", *(ap
+i
)); //포인터 표현법 for(int i=0; i<5; i++)
printf("%d ", ap
[i
]); //배열 표현법
}
/*
#include<stdio.h>
void swap1(int,int);
void swap2(int*, int *);
int main(){
int a=10, b=20;
printf("%d %d\n", a,b); //10 20
swap1(a, b); //값을 인수로 보냄
printf("call by value : %d %d\n", a,b); //10 20
swap2(&a, &b); //주소를 인수로 보냄
printf("call by reference : %d %d", a,b); //20 10
return 0; //
}
void swap2(int *ap, int *bp){ //int *ap = &a; int *bp=&b; ::call by reference
int temp;
temp = *ap; //main()함수의 a의 값을 swap2()함수의 지역변수 temp에 대입
*ap = *bp ; //main()함수의 b의 값을 main()함수의 a의 값으로 대입
*bp = temp; //main()함수의 b의 값으로 temp가 가지고 있는 10을 대입
}
void swap1(int a, int b){ //int a=10, int b=20; copy ::call by value
int temp;
temp=a; //a 10, temp 10 :: 매개변수 a의 값을 지역변수 temp의 값으로 대입
a=b; //a 20, b 20
b=temp; //b 10, temp 10
}
*/
/*
#include<stdio.h>
int main(){
int ary1[5]={10,20,30,40,50};
int *ap1=ary1; //
int p1;
for(int i=0; i<5; i++){
p1 = *ap1++; //*(ap1+0)의 값을 p1에 저장하고 ap1+1로 주소 증가 :: ap1 == ary1
printf("%u\t", p1);
}
int ary2[5]={10,20,30,40,50};
int *ap2=ary2;
printf("\n");
int p2;
for(int i=0; i<5; i++){
p2 = (*ap2)++; //ap2가 가리키는 값을 증가
printf("%u\t", p2);
}
int ary3[5]={10,20,30,40,50};
int *ap3=ary3;
printf("\n");
int p3;
for(int i=0; i<5; i++){
p3 = *++ap3; //ap3이 가르키는 주소를 증가시킨 후 그 곳의 값을 출력
printf("%u\t", p3);
}
int ary4[5]={10,20,30,40,50};
int *ap4=ary4;
printf("\n");
int p4;
for(int i=0; i<5; i++){
p4 = ++*ap4; //*(ap4+0)의 값을 전치증가연산자로 증가시켜 출력
printf("%u\t", p4);
}
printf("\n");
return 0;
}
*/
//배열.
//1.물리적주소가인접해있다.
//2.인덱스는0부터시작 n-1
//3.모든요소는 동일한 데이터 타입
//4.배열명이 포인터(시작첫주소물리적주소)
// 포인터::상수
// 변수::변수
/*
int main(void) {
int num;
double db;
char ch; //문자.1바이트
char name[20]; //
int n[5]; //
ch='c';
name[0]='c'; // 10=20;
n[0]=20;
printf("Hello World\n");
return 0;
}
*/
I2luY2x1ZGU8c3RkaW8uaD4Kdm9pZCBmdW5jKGludCAqKTsKaW50IG1haW4oKXsKICBpbnQgYXJ5WzVdOwogIGludCAqYXA9YXJ5OyAgIC8vCiAgaW50IG49MTsgCiAgZm9yKGludCBpPTA7IGk8NTsgaSsrKQogICAgKihhcCtpKSA9IG4rKzsgIC8vIO2PrOyduO2EsCDtkZztmITrspUKICAgIC8vYXBbaV0gPSBuKys7ICAvL+uwsOyXtCDtkZztmITrspUKICAgIC8vYXJ5W2ldID0gbisrOyAgLy/rsLDsl7Qg7ZGc7ZiE67KVIAogIGZ1bmMoYXJ5KTsgIC8v67Cw7Je066qF7J20IO2PrOyduO2EsAogIHJldHVybiAwOwp9CnZvaWQgZnVuYyhpbnQgKmFwKXsgIC8v7Y+s7J247YSwIOuzgOyImOuhnCDrsLDsl7TsnZgg7Iuc7J6RIOyjvOyGjOulvCDrsJvslYTspJjslbwg7ZWoCiAgZm9yKGludCBpPTA7IGk8NTsgaSsrKQogICAgcHJpbnRmKCIlZCAiLCAqKGFwK2kpKTsgLy/tj6zsnbjthLAg7ZGc7ZiE67KVCiAgcHJpbnRmKCJcbiIpOwogIGZvcihpbnQgaT0wOyBpPDU7IGkrKykKICAgIHByaW50ZigiJWQgIiwgYXBbaV0pOyAvL+uwsOyXtCDtkZztmITrspUKICAKfQoKCgoKCi8qCiNpbmNsdWRlPHN0ZGlvLmg+CnZvaWQgc3dhcDEoaW50LGludCk7CnZvaWQgc3dhcDIoaW50KiwgaW50ICopOwppbnQgbWFpbigpewogIGludCBhPTEwLCBiPTIwOwogIHByaW50ZigiJWQgJWRcbiIsIGEsYik7ICAvLzEwIDIwCiAgc3dhcDEoYSwgYik7ICAgLy/qsJLsnYQg7J247IiY66GcIOuztOuDhAogIHByaW50ZigiY2FsbCBieSB2YWx1ZSA6ICVkICVkXG4iLCBhLGIpOyAgLy8xMCAyMAogIHN3YXAyKCZhLCAmYik7ICAvL+yjvOyGjOulvCDsnbjsiJjroZwg67O064OECiAgcHJpbnRmKCJjYWxsIGJ5IHJlZmVyZW5jZSA6ICVkICVkIiwgYSxiKTsgIC8vMjAgMTAgIAogIHJldHVybiAwOyAgLy8KfQp2b2lkIHN3YXAyKGludCAqYXAsIGludCAqYnApeyAgLy9pbnQgKmFwID0gJmE7IGludCAqYnA9JmI7IDo6Y2FsbCBieSByZWZlcmVuY2UKICBpbnQgdGVtcDsKICB0ZW1wID0gKmFwOyAgIC8vbWFpbigp7ZWo7IiY7J2YIGHsnZgg6rCS7J2EIHN3YXAyKCntlajsiJjsnZgg7KeA7Jet67OA7IiYIHRlbXDsl5Ag64yA7J6FCiAgKmFwID0gKmJwIDsgIC8vbWFpbigp7ZWo7IiY7J2YIGLsnZgg6rCS7J2EIG1haW4oKe2VqOyImOydmCBh7J2YIOqwkuycvOuhnCDrjIDsnoUKICAqYnAgPSB0ZW1wOyAgLy9tYWluKCntlajsiJjsnZggYuydmCDqsJLsnLzroZwgdGVtcOqwgCDqsIDsp4Dqs6Ag7J6I64qUIDEw7J2EIOuMgOyehQp9CnZvaWQgc3dhcDEoaW50IGEsIGludCBiKXsgIC8vaW50IGE9MTAsIGludCBiPTIwOyAgY29weSA6OmNhbGwgYnkgdmFsdWUKICBpbnQgdGVtcDsKICB0ZW1wPWE7ICAvL2EgMTAsIHRlbXAgMTAgOjog66ek6rCc67OA7IiYIGHsnZgg6rCS7J2EIOyngOyXreuzgOyImCB0ZW1w7J2YIOqwkuycvOuhnCDrjIDsnoUKICBhPWI7ICAgICAvL2EgMjAsIGIgMjAKICBiPXRlbXA7ICAvL2IgMTAsIHRlbXAgMTAKfQoqLwoKCgoKCgoKCgoKCgoKCgoKCi8qCiNpbmNsdWRlPHN0ZGlvLmg+CgppbnQgbWFpbigpewogIGludCBhcnkxWzVdPXsxMCwyMCwzMCw0MCw1MH07CiAgaW50ICphcDE9YXJ5MTsgIC8vCiAgaW50IHAxOwogIGZvcihpbnQgaT0wOyBpPDU7IGkrKyl7CiAgICBwMSA9ICphcDErKzsgIC8vKihhcDErMCnsnZgg6rCS7J2EIHAx7JeQIOyggOyepe2VmOqzoCBhcDErMeuhnCDso7zshowg7Kad6rCAICA6OiBhcDEgPT0gYXJ5MQogICAgcHJpbnRmKCIldVx0IiwgcDEpOwogIH0KICAKICBpbnQgYXJ5Mls1XT17MTAsMjAsMzAsNDAsNTB9OwogIGludCAqYXAyPWFyeTI7CiAgcHJpbnRmKCJcbiIpOwogIGludCBwMjsKICBmb3IoaW50IGk9MDsgaTw1OyBpKyspewogICAgcDIgPSAoKmFwMikrKzsgIC8vYXAy6rCAIOqwgOumrO2CpOuKlCDqsJLsnYQg7Kad6rCACiAgICBwcmludGYoIiV1XHQiLCBwMik7CiAgfSAgCgogIGludCBhcnkzWzVdPXsxMCwyMCwzMCw0MCw1MH07CiAgaW50ICphcDM9YXJ5MzsKICBwcmludGYoIlxuIik7ICAKICBpbnQgcDM7CiAgZm9yKGludCBpPTA7IGk8NTsgaSsrKXsKICAgIHAzID0gKisrYXAzOyAgLy9hcDPsnbQg6rCA66W07YKk64qUIOyjvOyGjOulvCDspp3qsIDsi5ztgqgg7ZuEIOq3uCDqs7PsnZgg6rCS7J2EIOy2nOugpQogICAgcHJpbnRmKCIldVx0IiwgcDMpOwogIH0gIAoKICBpbnQgYXJ5NFs1XT17MTAsMjAsMzAsNDAsNTB9OwogIGludCAqYXA0PWFyeTQ7CiAgcHJpbnRmKCJcbiIpOwogIGludCBwNDsKICBmb3IoaW50IGk9MDsgaTw1OyBpKyspewogICAgcDQgPSArKyphcDQ7ICAvLyooYXA0KzAp7J2YIOqwkuydhCDsoITsuZjspp3qsIDsl7DsgrDsnpDroZwg7Kad6rCA7Iuc7LycIOy2nOugpQogICAgcHJpbnRmKCIldVx0IiwgcDQpOwogIH0KICBwcmludGYoIlxuIik7CgoKCgoKCiAgcmV0dXJuIDA7Cn0KKi8KCgoKCgoKCgoKCgoKCgoKCgoKLy/rsLDsl7QuIAovLzEu66y866as7KCB7KO87IaM6rCA7J247KCR7ZW07J6I64ukLgovLzIu7J24642x7Iqk64qUMOu2gO2EsOyLnOyekSBuLTEKLy8zLuuqqOuToOyalOyGjOuKlCDrj5nsnbztlZwg642w7J207YSwIO2DgOyehQovLzQu67Cw7Je066qF7J20IO2PrOyduO2EsCjsi5zsnpHssqvso7zshozrrLzrpqzsoIHso7zshowpCi8vICDtj6zsnbjthLA6OuyDgeyImAovLyAg67OA7IiYOjrrs4DsiJgKLyoKaW50IG1haW4odm9pZCkgewogIGludCBudW07CiAgZG91YmxlIGRiOwogIGNoYXIgY2g7ICAvL+usuOyekC4x67CU7J207Yq4CiAgY2hhciBuYW1lWzIwXTsgIC8vCiAgaW50IG5bNV07ICAgLy8KICBjaD0nYyc7CiAgbmFtZVswXT0nYyc7IC8vIDEwPTIwOwogIG5bMF09MjA7ICAKICBwcmludGYoIkhlbGxvIFdvcmxkXG4iKTsKICByZXR1cm4gMDsKfQoqLwo=