Symbol Talbe
Type Name Address(메모리 주소)
int A 1000
int B 1004
return이 지닌 2가지 의미
1. 함수를 빠져나간다!
2. 값을 반환한다.
반환형태 함수이름 입력형태
int main (void) // 소괄호 필수 인자 인수 소괄호안의 void 생략가능
인자가 없다는의미로 사용=void(회피하다)
{
// 함수의 몸체
return 0; // 0은 정수형 0?(return)이없으면 반환값이 없음
}
int Add(int num1, int num2) // 함수의 선언
{ // 함수의정의
// int num1; (매개변수를 생략해도됨)
// int num2; (매개변수를 생략해도됨)
return num1+num2;
}
int Add(int, int) // 매개변수의 이름을 생략한 표현
예제
#include <stdio.h>
int Add(int num1, int num2) // 인자전달 (O), 반환 값 (O)
{
return num1+num2;
}
void ShowAddResult(int num) // 인자전달 (O), 반환 값 (X)
{
printf("덧셈결과 출력 : %d\n", num);
}
int ReadNum(void) // 인자전달 (X), 반환 값 (O)
{
int num;
scanf("%d", &num);
return num;
}
void HowToUseThisProg(void) // 인자전달 (X), 반환 값 (X)
{
printf("두 개의 정수를 입력하시면 덧셈결과가 출력됩니다.\n");
printf("자! 그럼 두 개의 정수를 입력하세요.\n");
}
int main(void)
{
int result, num1, num2;
HowToUseThisProg();
num1=ReadNum();
num2=ReadNum();
result=Add(num1, num2);
ShowAddResult(result);
return 0;
}
#include <stdio.h>
int bNum1;
int bNum2;
int bNum3;
int dNum1=100;
int dNum2=100;
int dNum3=100;
int main(void)
{
int sNum1;
int sNum2;
int sNum3;
printf("%08X\n", &bNum1);
printf("%08X\n", &bNum2);
printf("%08X\n", &bNum3);
printf("\n");
printf("%08X\n", &dNum1);
printf("%08X\n", &dNum2);
printf("%08X\n", &dNum3);
printf("\n");
printf("%08X\n", &sNum1);
printf("%08X\n", &sNum2);
printf("%08X\n", &sNum3);
printf("\n");
printf("%08X\n", printf);
printf("%08X\n", scanf);
printf("%08X\n", main);
return 0;
}
memory | ||
상수, 함수 | Code | |
변수 | Data | dNum1 |
변수 | BSS | bNum1 |
변수 | Heap | |
변수 | Stack | sNum1 |
댓글 없음:
댓글 쓰기