#include<stdio.h>
struct student{
   int id;
   char name[20];
   int eng,kor,math;
   char address[100];
};

void main()
{
   struct student ST[2]= {{201154321,"hong gil dong",90,91,92."서울 강남구 대치동"},
                                  {201112345,"kang gil dong",98,80,86,"서울 종로구 혜화동"}};

for(int i=0; i<2; i++)
{
   printf("ST구조체의 크기: %d \n",sizeof(ST));
   printf("ST학번: %d" ,ST[i].id);
   printf("ST이름: %s" ,ST[i].name);
                   .
                   .
                   .
}



*scnaf("%d",&ST.id) ← 로값을 입력받을수 있음.
  ST.id= 12345 형식으로 값직접대입가능.

구조체의 크기는 136
 136byte 가 2개선언 →ST[0] , ST[1]

'C > 난정말C Programming을 공부한적이없다고요' 카테고리의 다른 글

typedef  (0) 2011.08.17
구조체와 포인터  (0) 2011.08.17
구조체  (0) 2011.08.17
Call by Referance  (0) 2011.08.17
Call by Address  (0) 2011.08.17



#include<stdio.h>
void main()
{
   int i=0, j=0;
   int num[3][3] = {1,2,3,4,5,6,7,8,9};
   for(i=0; i<3; i++)
   {
      for(j=0; j<3; j++)
         {
             printf("num[%d][%d]=%d", i,j,num[i][j]);
          }
       printf(""\n");
    }
   }



*num 이라는 배열은 3개의 12바이트 공간을 한개의 요소로 갖는 일차원 배열.
 num[0]을 배열이름이라고 생각하고, 변수 3개를 갖는다고 생각하면됨.
 
● num   = &num[0] = &num[0][0] = 0000
    num1 =  &num[1] = &num[1][0] = 0012
 

'C > 난정말C Programming을 공부한적이없다고요' 카테고리의 다른 글

Call By Value  (0) 2011.08.17
다중포인터  (0) 2011.08.17
배열 and 포인터  (0) 2011.08.16
포인터  (0) 2011.08.16
변수의 공간할당  (0) 2011.08.16

#include<stdio.h>
void main()
{
   int arr[5]={1,2,3,4,5}'
   int i=0;
   for(i=0; i<5; i++)                                 for(i=0; i<5, i++)
   {                                 동일코드       {
      printf("%d",arr[i]);          〓                printf("%d",*(arr+i));
   }                                                     }
   printf("\n");
}


※배열이름은 배열의 첫번째 주소를 가지고있다.(포인터상수)


'C > 난정말C Programming을 공부한적이없다고요' 카테고리의 다른 글

다중포인터  (0) 2011.08.17
다차원 배열(이차원배열)  (0) 2011.08.16
포인터  (0) 2011.08.16
변수의 공간할당  (0) 2011.08.16
배열(문자)  (0) 2011.08.16
"TEST 문자열"

#include <stdio.h>
void main()
{
  char arr[4] = {'T','E','S','T'};
  int i=0;
  for ( i=0; i<4; i++)
  { 
    printf("%c",arr[i]);
   }
}


 변수 arr[0]   arr[1] arr[2]  arr[3] 
 값  'T' 'E'  'S'  'T' 

※char arr[4] ="TEST"; 로 초기화시 문자열의 마지막에 \0 즉, Null 의 값이 들어감.
<Null 값이 들어있지않을시에 Null값을 만날때까지 쓰레기값을 출력한다.>
그래서 char arr[4] ="TEST"; 
          char arr[5] ="TEST"; 로 바꿔야함

*배열의 크기를 잡지않고 arr[]을 쓰면 자동으로 크기가 할당됨.


'C > 난정말C Programming을 공부한적이없다고요' 카테고리의 다른 글

다차원 배열(이차원배열)  (0) 2011.08.16
배열 and 포인터  (0) 2011.08.16
포인터  (0) 2011.08.16
변수의 공간할당  (0) 2011.08.16
배열(숫자)  (0) 2011.08.16
DataType 배열이름[크기];

#include<stdio.h>
{ int arr[5] = {1.2,3,4,5}
   printf("arr = %d \n",arr[4]);
}

*선언시

 변수 arr[0]   arr[1]  arr[2]  arr[3] arr[4] 
 값  2  3  4  5

※특징
1. 배열은 [0] 부터 시작
2. 배열크기는 선언할때 메모리상 공간을 할당받기 때문에 프로그램도중에 크기를 변경할수 없다.
3. 배열의 이름은 배열의 첫번째 주소를 가지고 있다 (포인터상수)

#include <stdio.h>
void main()
{
   int  i = 0, sum = 0, english[10] = {};

   for(i=0; i<10; i++)
  {
     printf("%d번의 영어 점수를 입력하세요:",i+1");
     scanf("%d",&english[i]);
  }
printf("\n");

for(i=0; i<10; i++)
  sum += english[i];

printf("10명의 영어점수 총합은 %d",sum);
}

'C > 난정말C Programming을 공부한적이없다고요' 카테고리의 다른 글

다차원 배열(이차원배열)  (0) 2011.08.16
배열 and 포인터  (0) 2011.08.16
포인터  (0) 2011.08.16
변수의 공간할당  (0) 2011.08.16
배열(문자)  (0) 2011.08.16