#include <stdio.h>
void print_square(int x[]);
int main()
{
int base[5] = {31,71,21,41,51};
printf("%p \n", base);
for(int i = 0; i < 5; i++){
printf("%d ", base[i]);
}
printf("\n");
print_square(base); // base λ°°μ΄λͺ
μμ²΄κ° μ£ΌμλΌμ κ·Έλλ‘ λ£λλ€.
//ν¨μλ₯Ό λ°λ³΅λ¬Έ λ리λκ²λ³΄λ€ ν¨μμμμ νλκ² μ’λ€.
for(int i = 0; i < 5; i++){
printf("%d ", base[i]);
}
return 0;
}
void print_square(int x[]){ // λ°°μ΄μ λ§€κ°λ³μλ‘ λ°μλλ []μ κΌ μ¨μ€μΌνλ€.
printf("%p \n", x); // μ£Όμκ° κ°λ€.
for(int i = 0; i < 5; i++){
x[i] += 10;
}
}
// λ§€κ°λ³μμλ λ°λμ μ£Όμκ° λ€μ΄κ°μΌνλ€.
// call by reference κ°λ
μ΄λ€.
// λ§€κ°μΈμλ‘ μ£Όμκ° μ λ¬λλ€λ©΄ κ°μ΄ λ°λμ μλ€.
// λ§€κ°μΈμκ° μ£Όμκ° μλλΌλ©΄ μ λ λ°κΏμμλ€.
// *baseλ base[0]κ³Ό κ°λ€
// *(base+1)μ base[1]κ³Ό κ°λ€.
// +1μ ν λ μλ£νμ΄ intλΌλ©΄ 4λ°μ΄νΈλ₯Ό κ³±ν΄ κ³μ°λλ€.