#include <stdio.h>

struct smart  //->smart 구조체이름 //변수선언 아님
{
  char Name[7];
  char Phone[14];
  int  Age;
};
int main()
{
  struct smart People[3];    //struct를 꼭 붙여서 내가 만든 타입이란걸 안다

  int iCnt;
  
  for(iCnt=03>iCnt; ++iCnt)
  {
    printf("이름을 입력하세요. \n");
    scanf("%s", People[iCnt].Name);    //배열이 주소값을 나타내니 &필요없음
    printf("전화번호를 입력하세요. \n");
    scanf("%s", People[iCnt].Phone);
    printf("나이를 입력하세요. \n");
    scanf("%d"&People[iCnt].Age);    //&People[iCnt].&Age로 쓰지마라.배열이 아니니 주소값을 붙여주자
  }

  for(iCnt=03>iCnt; ++iCnt)
  {
    printf("이름:[%s] 전화번호:[%s] 나이[%d] \n", People[iCnt].Name,People[iCnt].Phone, People[iCnt].Age);
        
  }

  return 0;
}


연습문제2

 #include <stdio.h>


struct   employee
{
  char eName[8];           //이름
  char idNum[16];          //주민번호
  int salary               //연봉

};

int main()
{
  struct employee emp[3];        //배열세개를 선언해서 세명분을 넣어보자.
  int i;
  
  for(i=03>i; i++)
  {
    printf("이름을 입력하시오 \n"); scanf("%s", emp[i].eName);
    printf("주민번호를입력하시오 \n"); scanf("%s", emp[i].idNum);
    printf("연봉을 입력하시오 \n"); scanf("%d", emp[i].salary)
  }
  for(i=03>i; i++)
  {
    printf("%s \n", emp[i].eName);
    printf("%s \n", emp[i].idNum);
    printf("%s \n", emp[i].salary);
    
  }
  

  return 0;
}




구조체 배열의 초기화

 #include <stdio.h>


struct person
{
  char name[20];
  char phoneNum[20];
  int  age;
};

int main()
{
  struct person arr[3]={
    {"이승기""010-1212-0001"21},
    {"임윤아""010-3453-0002"20},
    {"티파니""010-7521-0003"30}
  };

  int i;
  for(i=03>i; i++)
    printf("%s %s %d \n", arr[i].name, arr[i].phoneNum, arr[i].age);
  
  
  return 0;
}



'C언어' 카테고리의 다른 글

20140410 구조체 변수와 포인터  (0) 2014.04.10
20140409 구조체 효율높이기  (0) 2014.04.09
20140307 입출력함수  (0) 2014.04.07
20140304 표준 입출력과 버퍼  (0) 2014.04.04
20414 함수 포인터와 void 포인터  (0) 2014.04.01
by 날라차숑 2014. 4. 8. 15:18



#include <stdio.h>

typedef unsigned int   smart;  //[새로운 타입의 정의 typedef]


//       old type-       newtype-


int main()

{

  smart Num;    //smart는 unsigned int 타입  

  Num = 100;  

  printf("%d", Num);  //unsigend int Num이랑 똑같이 출력된다.



  return 0;

} 



#include <stdio.h>

char * Mystrcpy(char * dest, const char * src);

int main()
{
  char str1[50]="Hello C";
  char str2[50];
  char str3[50];
  int iCnt;
  
  Mystrcpy(str2, str1);  //str1을 str2에 복사
  Mystrcpy(str3, str1);  //str2를 str3에 복사
  
  fputs(str1,stdout);  //Hello C출력
  printf("\n");
  fputs(str2,stdout);  //Hello C출력    
  printf("\n");
  fputs(str3,stdout);  //Hello C출력
  return 0;
}

char * Mystrcpy(char * dest, const char * src)
{
  int iCnt;
    for(iCnt=00!=src[iCnt]; iCnt++) 
    {
      *(dest+iCnt)=*(src+iCnt);  //str1을 str2에 복사 dest[iCnt]=src[iCnt]와동일
    
    }
    *(dest+iCnt)=0;        //str2에 완전 똑같게 넓값을 넣어준다.
  return dest;
}



#include <string.h>
int main()
{
  char str1[50="Oh! My ";
  char str2[50="girl!";

  char str3[50="010-8976";
  char str4[50="-4XXX";

  strcat(str1, str2);                //str2가 str1뒤에 붙는함수
  puts(str1);                        //Oh! My gril!이 출력됨을 알수있다.

  strcat(str3, str4);
  puts(str3);                        //마찬가지.



  return 0;
}



'C언어' 카테고리의 다른 글

20140409 구조체 효율높이기  (0) 2014.04.09
20140408 구조체  (0) 2014.04.08
20140304 표준 입출력과 버퍼  (0) 2014.04.04
20414 함수 포인터와 void 포인터  (0) 2014.04.01
20140331 이중포인터  (0) 2014.03.31
by 날라차숑 2014. 4. 7. 16:58



 #include <stdio.h>


int main()
{
  char * cpStr = "Test Program \n";
  
  
  while(*cpStr != 0)
  {
    putchar(*cpStr);
    cpStr = cpStr+1;     주소값을 1씩증가시켜서 가리키는 

                               대상을바꿈

                                   
      
  }

  return 0;
}


 #include <stdio.h>


void ClearLineFromReadBuffer(void)
{
  while(getchar()!='\n');
}

int main()
{
  char str[5];
  int i;


  for(i=03>i; i++)
  {
    fgets(str, sizeof(str), stdin);
    printf("Read %d: %s \n", i+1, str);
    fflush(stdin);       //입력버퍼를 비움 4글자를 넣어도 엔터영향없음
//    ClearLineFromReadBuffer();    //함수를 직접구현함
  }
  return 0;
}


#include <stdio.h>

int main()
{
  char * str="Simple String";

  printf("1. puts test ------ \n");
  puts(str);      //\n가 포함되어있음
  puts("So Simple String");  //\n가 포함되어있음

  printf("2. fputs test ------\n");
  fputs(str, stdout); printf("\n");
  fputs("So Simple String", stdout); printf("\n");

  printf("3. end of main ----\n");

  return 0;
}




'C언어' 카테고리의 다른 글

20140408 구조체  (0) 2014.04.08
20140307 입출력함수  (0) 2014.04.07
20414 함수 포인터와 void 포인터  (0) 2014.04.01
20140331 이중포인터  (0) 2014.03.31
20140327 포인터와 배열  (0) 2014.03.27
by 날라차숑 2014. 4. 4. 11:13