항상 main()보다 먼저 함수를 선언합니다. 나를 혼란스럽게하는 것은 함수 인자를 선언하고 정의하고 할당하고 전달하는 올바른 (또는 적어도 모범 사례) 방법입니다.올바른 C 함수 인수 변수 정의 위치
// EXAMPLE 1 //
int idum1 = 1;
void my_func(int); // Says the function's going to need an integer.
void main (void)
{
my_func(idum1);
}
void my_func(idum2) // Is this then declaring AND defining a local integer, idum2?
{
// Do stuff using idum2...
}
를하지만이 역시 작동합니다 : 예를 들어,이 작품
// EXAMPLE 2 //
int idum1 = 1;
void my_func(int idum2); //Is this declaring a variable idum2 local to my_func?
void main (void)
{
my_func(idum1);
}
void my_func(idum3) // A different variable or the same one (idum2) still works.
//Is this declaring idum3 as a local integer?
{ //What happened to idum2, still a viable integer in the function?
// Do stuff using idum3...
}
을 그리고이 작품 :
// EXAMPLE 3 //
int idum1 = 1;
void my_func(int idum2); // Declaring...
void main (void)
{
my_func(idum1);
}
void my_func(int idum2) //Declaring again. Different address as in function declaration?
//Same variable and address?
{
// Do stuff using idum2...
}
을 그래서이 수행합니다
// EXAMPLE 4 //
int idum1 = 1;
void my_func(int);
void main (void)
{
my_func(idum1);
}
void my_func(int idum2) //Yet another way that works.
{
// Do stuff using idum2...
}
나 ' 독학하는 초보자이지만, 나는 너희를 위해 끽끽 거리고 있었다. 실제로 올바른 방법을 알지 못하고 장면 뒤에서 무슨 일이 일어나고 있는지 알 수 없습니다. 나는 그것이 작동한다는 것을 항상 알고 있습니다 (항상 위험합니다).
내 직감은 예제 4가 최선의 방법이라고 말합니다. 어떤 타입을 필요로하는지 알려주고, 코딩과 에러 검사의 편의를 위해 타입과 함께 함수에서 선언하십시오. 나는 당신이 무엇을하려고하는지에 따라 어떤 방식 으로든 그렇게 할 이유가있을 것이라고 확신하지만 여기에는 어떤 지침을 실제로 사용할 수 있습니다.
예제 3을 많이 보았지만, 변수를 두 번 선언하면 불필요 해 보입니다.
누군가 내가 설명하려고하는 것에 대해 설명하고 설명 해주는 기사에 나를 설명하거나 가리킬 수 있습니까? 거의 내가 뭘 요구하는지 잘 모르겠다. 모든 것이 웹상에서 조각났습니다. CodingUnit을 사용해 보았지만 자습서만으로는 충분하지 않습니다. 티아!
'void main (void)'는 호스트 된 환경에서 유효하지 않은 서명입니다. 'main'은'int' 결과를 리턴합니다. – Olaf
"주로 의견을 기반으로", "너무 광범위하게"또는 "외부 리소스를 묻는"경우 정말 어려움을 겪었습니다.어쨌든, 그것은 주제에서 벗어난 것입니다. – Olaf
당신은 적절한 지식이 필요해 보인다. 나의 제안은 C 책 목록을 찾는 것이다. –