2014-06-17 2 views
0

gcc 메모리 할당에 대한 오해로 인해 변수 유형에 대해 한 번 질문하고 두 번째로 함수에서 동적으로 변경되는 값을 반환하는 것에 대한 질문이 있습니다.함수에서 동적으로 생성 된 값을 반환합니다.

  1. 변수 유형을 분석 할 수있는 함수가 있습니까? 컴파일러를 통해 유형 분석이 발생한다는 컴파일러 경고가 있습니다.

  2. 방금 ​​생성 한 함수의 값을 돌려주는 함수를 어떻게 만들 수 있습니까? 예를 들어 함수를 호출하는 곳의 주요 부분이 있습니다.

     int func(){ 
         for(i; 0 to 256;i++){ 
         return i; } 
         } 
         main(){ 
         for(j; 0 to 256;j++){ 
         func(); // should give me back the current value of i - e.g. for i = 3 -> j = 3 
          } 
         } 
    

이 내게는 질문 때 실제로 어떤 날 다시주는 두 함수 인수 또는 오히려 반환 값을 사용해야 할 수 있습니다 : 그냥 함수의 호출은 나에게이 일을 운영하고 값을 주어야한다 값. (반환 값은 형식으로 제한됩니까?)

답변

0
  1. 확실하게 gcc 컴파일러 경고는 이미 관련 유형의 이름을 지정합니다. int func() { static int i; return i++; }

반환 값이 형식으로 무엇을 제한 것 :

  • 은 아마도 당신은 같은 말인가요?

    ISO/IEC 9899 : 201x, 6.9.1 함수 정의, 제약

    3 함수의 리턴 타입이 무효 또는 이외의 완전한 객체 형 배열 유형.

    관련 문제