'C Programming'에 해당되는 글 1건

  1. 2012.07.25 C언어 구조체 관련 공부

#include <stdio.h>

#include <string.h>

#define CHAR_TEST "HOW" //define은 문자열 안에서 즉, " " 안에서는 효력이 발휘하지 않는다.



//struct our_client { //기본적인 구조체

// int number;

// char name[10];

// char addr[20];

//};


typedef struct { //typedef 를 써서 복잡하게 struct(구조체 키워드) our_client(이러한 형태정의한것) com_client(이 이름으로 our_client 형태를 가진 구조체 변수 선언 상당히 길게 써야함

int number; //하지만 typedef 를 쓰면 c_client = struct our_client 가 되므로 c_client com_client 로 줄어든다.

char name[10]; //typedef struct 를 선언하면서 typedef struct 1 {..} 2; 즉 1 과 2는 이름이 꼭 다를 필요가 없다.

char addr[20]; //다른 이름으로 쓰면 이름 정하는데 신경쓰이고 시간 뺏기니까 그냥 같은 이름으로 해준다.

} c_client; //아예 1을 생략하고 바로 typedef struct { ... } value_name; 으로 하면 된다.



//struct {

// int number;

// char name[10];

// char addr[20];

//}com_client; //1회성 구조체인듯?





void main()

{

//struct com_client com_client1; //기본적인 구조체를 쓸 경우에 쓰는 구조체 변수 선언

c_client com_client1;


com_client1.number = 1;

//com_client1.name = "양승민"; //구조체는 바로 넣을 수 없다? 문자배열은 값을 바로 넣을 수 없다?

strcpy(com_client1.name, "양승민");

strcpy(com_client1.addr, "서울시");


//com_client1.addr = "서울시";


printf("고객정보\n");

printf("번호 : %d, 이름 : %s, 주소 : %s\n", com_client1.number, com_client1.name, com_client1.addr);


printf("문자열 안에 쓰면 CHAR_TEST 는 CHAR_TEST\n");

printf("문자열 밖에 쓰면 CHAR_TEST 는 %s\n",CHAR_TEST);

}

Posted by 노라스
,