수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

c 코딩 질문 두가지 입니다. [함수/지역.전역변수]

루다

2023.09.16

1. 두개의 인수를 전달해여 두 수의 곱의 결과를 반환하는 프로그램
입니다.. 코딩의 흐름은 이해가 가는데 중간에 auto int result 부분이 무엇인지 이해가 되질 않습니다.
혹시 프로그램이 실행 되지 않나 생각되어 auto 부분만을 지우고 실행을 해도 잘 실행되고 결과값에도 변화가 없다군요..
고수님들 설명좀 부탁드리겠습니다~

#include stdio.h
int calc_result(int, int);
void main (void)
{
int dig1= 10, dig2= 30, ans= 0;
ans= calc_result(dig1, dig2);
printf(%d * %d= %d\n, dig1, dig2, ans);
}
int calc_result(int n1, int n2)
{
auto int result; // auto 는 무엇인가요? ;;
result= n1* n2;
return result;
}2. extern 데이터 유형 변수 이름
함수 부분이 부족한듯 싶어서 함수를 공부하는중에 지역변수와 전역변수에 대한것을 공부하고 있습니다.
위의 질문과 마찬가지로 estern 이 무엇을 의미하는것인지 잘 모르겠습니다..책에서 보면12 번째 줄에 int count =5;
부분을 main 위로 올려서 선언 하면변수 선언을 하지 않아도 된다고.. 나와있는데요.. 무슨말인지.. 잘모르 겠습니다.
그리고..데이터 형 이라고 하는데..
어떤 데이터 형인지 지식인에 물어봐도 잘 이해 안가는 답변들만 있어서 이렇게 물어보게 되었습니다..
어던것인지 답변좀 부탁 드릴께요 ^^;; #include stdio.h
void f1(void);
void main (void)
{
extern int count; //extern 이 무슨 데이터 유형인지 모르겠어요..
int i;
i= count -5 ;
++count;
f1();
printf(i = %d, count = %d \n, i, count);
}
int count =5; // 이부분을 main 위로 하면변수 선언을 하지 않아도 된다고..나와있는데요.. 무슨말인지..
void f1(void)
{
++count;
}
ps. 지난번에 포인터 부분에 대한 질문을 했는데요 주석도꼼꼼히 달아주시고 설명도 잘해주셔서
포인터 부분에서는 조금은 이해가 되었습니다.
정말 감사합니다 ^^
아직은 많이 부족합니다 열심히 하고 싶습니다.. 많은 도움 주세요 ^^

끝까지 읽어 주셔서 감사합니다 ^^

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 등대 2023-09-16

    아하 동일한 이름의 변수가 없는 상태에서 extern 을 해보니 컴파일을 오류가 나지 않는데
    실행하니 오류가 나네요. 생성(물건을 여기 두었다고 말하고 실제 물건을 둔것) 을 하지 않은 상태에서 선언(여기있다고 말만 하는 거짓말 같이)만 한것이니 변수에 저장되어있는 내용이 없어서 실행되지 못하고 오류가 나는게 맞습니까?;;

  • 궁수자리 2023-09-16

    네
    extern를 사용하면, 변수를 실제 생성하는게 아니라, 선언만 합니다.
    그래서, 실행시는 동일한 이름의 변수가 있다면 그것을 사용합니다.

  • 가자 2023-09-16

    아하 auto 는 자동변수 앞에 이것은 자동변수를 선언해주고 있다 라고 알려 주기 위해 쎃여 진다고 이해 해도 될까요? 그리고 extern 음 같은 이름의 변수를 서로 다른 파일에서 사용할때 변수를 두 파일모드 에서 사용하지 않고 둘중 한쪽에서 다른쪽에 미리 선언되어 있는 변수를 참조 한다는 뜻으로 이해 하면 되는거 맞죠?

    ps. 아..해당 사이트에서 물어봤는데 아무도 안알려 주시더라구요 그리고 배우고 싶은 입장에선.. 조금이라도 더 잘 설명된글을

  • 봄 2023-09-16

    2)번은 extern을 붙여서 선언한 변수는 컴파일러에게 이변수는 다른곳에 이미 선언되어 있으니 링크시 그것을 참조하라고 알려주는걸로 알고 있어요. (틀릴려나.. ^^;)
    보통, A,B 두파일이 있고, 이둘다 모두 num이라는 전역 변수를 사용한다고 할때, 컴파일러 입장에서 보면 동일한 이름의 전역변수가 2개 있으니 에러를 발생시키겠죠. 이때, 한쪽을 extern을 붙여서 선언해주면, 해당 변수를 생성하는게 아니라 그것을 참조하게 되는거랍니다.

  • 물보라 2023-09-16

    음... 책을 보시고 하는거면, 해당 책 사이트에서 Q&A 해주지 않나요?

    1)번은 auto는 생략가능한 키워드 입니다. 일반적으로 자동변수앞에 auto를 붙이는데 이게 생략가능합니다.
    자동변수는 쉽게 말하면 함수내에서 선언된 지역변수라고 보시면 되는데요. 선언된 함수(블록내)에서 유효하며 그함수(블록)을 벗어날때 메모리에서 소멸되죠.
    반대되는 걸로 static이 붙은 정적변수가 있어요. (반대라고 표현하기는 그렇지만...)
    정적변수는 선언된 함

번호 제 목 글쓴이 날짜
2694894 웹 프로그래밍 관련해서 질문합니다. 창의적 2025-05-15
2694868 컨택트 폼 7에서 textarea 높이 조정 영글 2025-05-15
2694818 line-height값이 적용이 안되는데 왜 그런 거예요?. letter-spacing,line-height의 기준?? (2) 풍란 2025-05-14
2694795 이것 어떻게 좀 해결좀;; (3) 개럭시 2025-05-14
2694724 코딩시 폰트 문제; ㅠ 후력 2025-05-13
2694696 텍스트박스 입력에 관한 문제입니다. 딥공감 2025-05-13
2694668 [질문] 페이퍼비전 PointLight 관련 질문 드려요.. 두바다찬솔 2025-05-13
2694611 Flash Lite 2.1에서 BitmapData와 Matrix 지원안하나요? (3) 이플 2025-05-12
2694582 IE & 파이어폭스 (2) 흙이랑 2025-05-12
2694553 무비클립안의 duplicate 발동이 안돼네요; 딥보라 2025-05-12
2694523 자바 애플릿 질문좀 ^^ (6) 동이 2025-05-12
2694494 [질문] JAVA 또는 C++ 로 프로그램 개발시.. 레지스터리 등록 관련 의문점? (3) 우람늘 2025-05-11
2694469 익스6에서 css버그 나오는것 해결방법좀요 !!!! (6) 원술 2025-05-11
2694442 로컬에선 잘 나오는데 운영에 반영하면 이상하게 나와요. (8) 목화 2025-05-11
2694412 [질문] 이미지 로딩후 사이즈 조절할때 (1) 아담 2025-05-11
2694391 설치형 블로그 쓰시는 분들 어떤거 쓰세요?? (7) AngelsTears 2025-05-10
2694362 Microsoft SQL Server에서 서버만드는법 어둠 2025-05-10
2694333 for문으로 돌린 이름의 제어 (4) 레이 2025-05-10
2694308 이미지 css 도와주세요 ㅠㅠ (2) 애기 2025-05-10
2694223 [급질문]스크롤스파이의 offset값 진나 2025-05-09
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com