¾È³çÇϼ¼¿ä. C¾ð¾î ÇÁ·Î±×·¥¿¡¼ Call by address¸¦ Ãß°¡Çϰí½ÍÀºµ¥, Æ÷ÀÎÅÍÀÇ ´ëÇÑ °³³äÀ» ¾Æ¹«¸®ºÁµµ ÀÌÇØ¸¦ ¸øÇϰڽÀ´Ï´Ù.
¼ºÀûÇ¥ ÇÁ·Î±×·¥Àä. ¸ÞÀÎÇÔ¼ö³»ÀÇ º¯¼ö·ÎÇØ¼ Ç϶ó´Âµ¥; µµ´ëü ¹«½¼¸»ÀÎÁö ¸ð¸£°Ú½À´Ï´Ù.
»õ³»±âÀε¥¤Ð µµ¿ÍÁÖ¼¼¿ä. ºÎʵ右´Ï´Ù. ¾î¶²½ÄÀ¸·Î call by address¸¦ Ãß°¡Çϸé ÁÁÀ»±î¿ä¤Ì¤Ì?
#include<stdio.h>
#include <string.h>
struct student
{
char name[5];
int kor;
int eng;
int mat;
int total;
float average;
int rank;
};
void main()
{
struct student arr[100];
int i, num;
printf("¸î¸íÀÇ ¼ºÀûÀ» ±¸ÇϰڽÀ´Ï±î?");
scanf("%d", &num);
printf("¼ºÀûÀ» ÀÔ·ÂÇϼ¼¿ä.\n");
for(i=0; i<num; i++)
{
printf("%d¹ø ÇлýÀÇ À̸§, ±¹¾î, ¿µ¾î, ¼öÇÐ Á¡¼ö¸¦ ÀÔ·ÂÇϼ¼¿ä : ", i+1);
scanf("%s %d %d %d", &arr[i].name, &arr[i].kor, &arr[i].eng, &arr[i].mat);
arr[i].total = arr[i].kor + arr[i].eng + arr[i].mat;
arr[i].average = arr[i].total/3;
}
printf("ÇлýµéÀÇ ¼ºÀûÀ» Ãâ·ÂÇÕ´Ï´Ù.\n");
printf("¼ø¹ø\tÀ̸§\t±¹¾î\t¿µ¾î\t¼öÇÐ\tÃÑÁ¡\tÆò±Õ\t¼øÀ§\n");
for(i=0; i<num; i++)
{
printf("%3d\t%s\t%d\t%d\t%d\t%d\t%.2f\t%d\n",i+1, arr[i].name, arr[i].kor, arr[i].eng, arr[i].mat, arr[i].total, arr[i].average, arr[i].rank);
}
} |