C 구조체 메모

|

2011/04/27


typedef struct {

char name[20];

int kor;

int eng;

int total;

} ST;


main() {

struct ST a;

}


typedef { } ST;

typedef A B; --> A를 B라는 이름으로 부르겠다.


typedef int integer;

typedef char CHAR;

typedef char* STRING;

integer a;

CHAR c;

STRING s;



=========================

=========================

struct ST{

char name[20];

int kor;

int eng;

int total;

};

struct ST bjay;

=========================같은표현

struct ST{

char name[20];

int kor;

int eng;

int total;

}bjay;

=========================

=========================



=========================

=========================

typedef

struct {

char name[20];

int kor;

int eng;

int total;

} ST;

ST bjay;

=========================

struct ST {

char name[20];

int kor;

int eng;

int total;

}

//struct ST bjay; //bjay는 변수

typedef struct ST bjay; //여기선 데이터타입


bjay c;

=========================변수, 데이터타입 구분

=========================





#include <stdio.h>


typedef struct {

char name[20];

int kor;

int eng;

int total;

} ST;


int sum1(int, int);

void sum2(int, int, int *);

void sum3(ST *pup);

void sum4(ST st4);

void sum5(ST *st5); 


void main(void)

{

int i ;

ST st1={"박문수", 89, 91, 0};

ST st2={"홍길동", 87, 92, 0};


ST st3[3]={ {"이순신", 97, 93, 0},

{"김유신", 94, 89, 0},

{"최영",   95, 91, 0}

};


ST st4={"임꺽정", 85, 79, 0};

ST st5={"허준", 98, 95, 0};


printf(" name  kor eng total\n");

printf("===================\n");


st1.total = sum1(st1.kor, st1.eng);

printf("%6s %3d %3d %3d\n",  st1.name, st1.kor, st1.eng,  st1.total);


sum2(st2.kor, st2.eng, &st2.total);

printf("%6s %3d %3d %3d\n", st2.name, st2.kor, st2.eng, st2.total);


sum3(st3);

for (i=0; i<3; i++)

printf("%6s %3d %3d %3d\n", st3[i].name, st3[i].kor, st3[i].eng, st3[i].total);


sum4(st4);

printf("%6s %3d %3d %3d\n", st4.name, st4.kor, st4.eng, st4.total);


sum5(&st5);  /* 구조체 번지 전달 */

printf("%6s %3d %3d %3d\n", st5.name, st5.kor, st5.eng, st5.total);

}


int sum1(int x, int y)

{

return (x + y);

}


void sum2(int x, int y, int *z)

{

*z = x + y;

}


void sum3(ST *pup)

{

int i;


for (i=0; i<3; i++, pup++)

pup->total = pup->kor + pup->eng;

}


void sum4(ST st4)

{

st4.total = st4.kor + st4.eng;

}


void sum5(ST *st5)

{

st5->total = st5->kor + st5->eng;

}

'메모 > C/C++' 카테고리의 다른 글

LPCWSTR <-> char 변환  (0) 2012.04.04
C 파일 입출력  (0) 2012.03.31
c++ 파일 입출력  (0) 2012.03.27
우선순위 큐 STL 사용법  (0) 2012.03.22
MFC 참조  (0) 2012.03.20
And