함수는 이미 스펙이 정해져있기 때문에 파라미터수를 줄이거나 할 수 없습니다.
예를들어,
int a;
int func(a, char b);
main() { ... }
int func(a, char b) { ... }
답변 부탁드립니다.
전역 변수와 함수 매개변수를 위와 같이 사용하는건 가능하나... 전역 변수와 매개변수는 전혀 다른 것임을 알아야합니다. 전혀.. 둘 사이엔 연관이 없다는 말씀입니다. 이건 scope문제 때문인데... 자세한건 책을 참고 하세요.
만약 전역 변수 a를 함수에서 사용하길 원한다면 이 변수를 함수의 매개변수로 넘겨 줘야 사용이 가능합니다. 그러나... 사용 가능하길 하나. a의 변경 내용이 전역 변수 a에 반영 되진 않습니다. 주의 하세요 ^^;
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
#include <com.h> <beer.h> <woman.h> do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
#include <com.h> <C2H5OH.h> <woman.h> do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
그래서 다음과 같다고 볼수 있습니다.
int func(int a, char b);
C99 표준문서에서는 파라미터 기술 부분에 자료형을 반드시 기술하도록 되어 있습니다.
현재 사용하시는 컴파일러가 이전 문법에 대한 호환성차원에서 지원하고 있을것 같습니다. 자세한 부분은 컴파일러가 제공하는 문서를 확인하거나, 제조사에 문의하시는 것이 좋겠습니다.
또한 전역변수명과 파라미터변수명이 동일한 것으로 인해서 벌써부터 혼동을 일으키니 명칭의 중복성을 제거하시는 것이 좋겠습니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
전역 변수와 함수
전역 변수와 함수 매개변수를 위와 같이 사용하는건 가능하나...
전역 변수와 매개변수는 전혀 다른 것임을 알아야합니다.
전혀.. 둘 사이엔 연관이 없다는 말씀입니다.
이건 scope문제 때문인데...
자세한건 책을 참고 하세요.
만약 전역 변수 a를 함수에서 사용하길 원한다면 이 변수를 함수의 매개변수로 넘겨 줘야 사용이 가능합니다.
그러나... 사용 가능하길 하나.
a의 변경 내용이 전역 변수 a에 반영 되진 않습니다.
주의 하세요 ^^;
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
#include <com.h> <beer.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
묵시적 int형이 될겁니다.
자료형을 미기술해도 괜찮은 곳에서는 묵시적 int형으로 간주합니다.
그래서 다음과 같다고 볼수 있습니다.
C99 표준문서에서는 파라미터 기술 부분에 자료형을 반드시 기술하도록
되어 있습니다.
현재 사용하시는 컴파일러가 이전 문법에 대한 호환성차원에서 지원하고 있을것
같습니다. 자세한 부분은 컴파일러가 제공하는 문서를 확인하거나,
제조사에 문의하시는 것이 좋겠습니다.
또한 전역변수명과 파라미터변수명이 동일한 것으로 인해서 벌써부터 혼동을 일으키니
명칭의 중복성을 제거하시는 것이 좋겠습니다.
댓글 달기