블로그 이미지
그림무지

카테고리

분류 전체보기 (86)
my (0)
book (25)
movie (53)
picture (4)
programming (4)
05-01 18:42
Total
Today
Yesterday

달력

« » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함

'c프로그래밍'에 해당되는 글 2건

  1. 2012.12.12 [C] 커맨드라인 인수
  2. 2012.12.11 [C] 변수의 범위, 로컬 변수, 글로벌 변수 3

#include <stdio.h>

#include <string.h>

int main(int argc, char *argv[]) //커맨드 실행창에서 프로그램이름을 쳐서 실행할때 인수를 붙여서 실행할 수 있게 한다
{
    int i;

if(argc <=1); //인수를 지정하지 않았을 때 에러가 나지 않도록 지정되지 않았을 때 끝내준다
      return 1;
 if(strcmp(argv[1], "enum")==0) //첫번째 인수의 문자열이 enum일때 

      for(i=0;i<argc;i++)              //프로그램 이름부터 마지막 인수의 문자열까지 출력 한다
           printf("argv[%d] : %s\n", i, argv[i]);
 else if(strcmp(argv[1], "count")==0)  //첫번째 인수의 문자열이 count일때
           printf("커맨드라인 인수의 수 : %d\n", argc-1); //배열 argv의 크기에서 -1한 값을 인수의 수로 출력

    //argv의 크기는 프로그램명+인수의 수이므로 -1을 해준다

}

 

Posted by 그림무지
, |

글로벌변수(전역변수) 선언 후 프로그램 전체에서 사용가능

로컬변수(지역변수) 함수안에서 사용하고 함수가 종료되면 사라진다

 

#include<stdio.h>

int y;                    //글로벌변수 y
int z;                   //글로벌변수 z

 

void myfunc(int a)
{
 int z;                  //글로벌 변수 z가 있어도 함수안에서는 로컬변수 z가 우선
 int x;                  //myfunc함수의 로컬변수 x
 x=a;                   //myfunc함수의 로컬변수 x에 a를 대입
 y=a;                   //글로벌변수 y에 a를 대입
 z=a;                   //myfunc함수의 로컬변수 z에 a를 대입
}     //myfunc함수가 종료되었으므로 로컬변수 x, z에 넣은 값은 사라지고 글로벌변수 y에 넣은 a만 살아남는다

 

main()
{
 int x;                  //동일한 이름의 로컬변수끼리는 별개의 변수로 간주
 x=10;
 y=10;
 z=10;
 printf("x, y, z의 값은 %d, %d, %d\n", x, y, z);  //로컬변수x=10, 글로벌변수y=10, 글로벌변수z=10
 myfunc(5); //myfunc함수가 종료되었으므로 로컬변수 x, z에 넣은 값은 사라지고 글로벌변수 y에 넣은 a만 살아남는다
 printf("x, y, z의 값은 %d, %d, %d\n", x, y, z);  //로컬변수x=10, 글로벌변수y=5, 글로벌변수z=10
}

 

myfunc의 x와 main의 x는 별개의 x다.

로컬변수 z는 함수가 끝나고 나면 글로벌 변수 z로 대체된다.

 

Posted by 그림무지
, |