A sentimental robot

구조체 동적메모리 본문

C

구조체 동적메모리

GOD03219 2017. 12. 29. 20:40

#include<stdio.h>
#include<stdlib.h>
#pragma warning(disable:4996)
struct score
{

 char name[10];
 int kor;
 int eng;
 int mat;
 int total;
 float avg;

};

void main()
{

 struct score *p;
 int num, i;


 printf("How many students?");
 scanf("%d", &num);


 p = (struct score*)calloc(num, sizeof(struct score));

 

 for (i = 0; i < num; i++)
 {
  printf("name input:");
  scanf("%s", (p + i)->name);
  printf("kor input:");
  scanf("%d", &(p + i)->kor);
  printf("eng input:");
  scanf("%d", &(p + i)->eng);
  printf("mat input:");
  scanf("%d", &(p + i)->mat);

 

  (p + i)->total = (p + i)->kor + (p + i)->eng + (p + i)->mat;
  (p + i)->avg = (p + i)->total / 3.f;


 }


 for (i = 0; i < num; i++)
 {
 
  printf("%s\t", (*(p + i)).name);
  printf("%d\t", (*(p + i)).kor);
  printf("%d\t", (*(p + i)).eng);
  printf("%d\t", (*(p + i)).mat);
  printf("%d\t", (*(p + i)).total);

  printf("%f\n", (*(p + i)).avg);


 }


 free(p);

 

}



 


#include<stdio.h>
#include<stdlib.h>
#pragma warning (disable:4996)
struct a {

 

 char name[10];
 int kor;
 int eng;
 int mat;
 int total;
 float avg;


};
void main()
{
 struct a * pa;
 int num, i;

 

 printf("how many?");
 scanf("%d", &num);

 

 pa = (struct a*)malloc(sizeof(struct a)*num);

 

 for (i = 0; i < num; i++) {


  printf("name :");
  scanf("%s", pa[i].name);
  printf("kor :");
  scanf("%d", &pa[i].kor);
  printf("eng :");
  scanf("%d", &pa[i].eng);
  printf("mat :");
  scanf("%d", &pa[i].mat);

 

  pa[i].total = pa[i].kor + pa[i].eng + pa[i].mat;
  pa[i].avg = pa[i].total / 3.f;

 

 }

 

 for (i = 0; i < num; i++) {
  printf("%s %d %d %d %d %f\n", pa[i].name, pa[i].kor, pa[i].eng, pa[i].mat, pa[i].total, pa[i].avg);
 

 }


 free(pa);


}


'C ' 카테고리의 다른 글

3차원배열  (0) 2017.12.29
다차원포인터 동적메모리할당  (0) 2017.12.29
구조체배열 포인터  (0) 2017.12.29
구조체 포인터  (0) 2017.12.29
구조체 배열  (0) 2017.12.29