diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..8d3a3fd --- /dev/null +++ b/.editorconfig @@ -0,0 +1,2 @@ +[*.c] +charset = utf-8 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c65a21 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +* +!main.c diff --git a/Project-Function-Calls-No-Parameter.vcxproj b/Project-Function-Calls-No-Parameter.vcxproj new file mode 100644 index 0000000..47760fe --- /dev/null +++ b/Project-Function-Calls-No-Parameter.vcxproj @@ -0,0 +1,51 @@ + + + + + Debug + x64 + + + + 17.0 + Win32Proj + {56298b6a-7bcc-4ad5-857c-3ae51b8ca9fa} + ProjectFunctionCallsNoParameter + 10.0 + + + + Application + true + v143 + Unicode + + + + + + + + + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + /utf-8 %(AdditionalOptions) + + + Console + true + + + + + + + + + diff --git a/Project-Function-Calls-No-Parameter.vcxproj.filters b/Project-Function-Calls-No-Parameter.vcxproj.filters new file mode 100644 index 0000000..16285ee --- /dev/null +++ b/Project-Function-Calls-No-Parameter.vcxproj.filters @@ -0,0 +1,14 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + c + + + + + 소스 파일 + + + diff --git a/README.md b/README.md index bb3e4ff..6a13686 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,26 @@ -# Computer Programming and Practice 2025-1 - 컴퓨터 프로그래밍 및 실습 과목의 수업 홈페이지 +# 함수호출식 (매개변수가 없는 함수) + +함수를 실행하는 것을 함수를 호출한다고 합니다. +함수를 호출하는 것은 값을 쓰거나 더하기를 하는 것처럼 결과로 값을 얻습니다. +실행 결과를 얻는 것을 식이라고 하고, 식은 문장의 일부로 쓰입니다. + +`식` `(` `)` 형태로 씁니다. + +`(` 왼쪽의 `식`은 함수를 가리켜야 합니다. + +#### 코드 예시: +```c +int main() { + return main(); /* 자신을 무한히 호출해서 에러가 발생합니다 */ +} +``` + +#### 관련 C89 표준 +3.3.2.2 Function calls +> Semantics +> +> ... expression followed by parentheses () ... is a function call. +> +> ... expression denotes the called function. ... +> +> ... Recursive function calls shall be permitted, both directly and indirectly through any chain of other functions. diff --git a/Solution-Week2.sln b/Solution-Week2.sln new file mode 100644 index 0000000..7466781 --- /dev/null +++ b/Solution-Week2.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.13.35818.85 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Project-Function-Calls-No-Parameter", "Project-Function-Calls-No-Parameter.vcxproj", "{56298B6A-7BCC-4AD5-857C-3AE51B8CA9FA}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {56298B6A-7BCC-4AD5-857C-3AE51B8CA9FA}.Debug|x64.ActiveCfg = Debug|x64 + {56298B6A-7BCC-4AD5-857C-3AE51B8CA9FA}.Debug|x64.Build.0 = Debug|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {7548D284-3031-4A53-8359-876BE48586E0} + EndGlobalSection +EndGlobal diff --git a/main.c b/main.c new file mode 100644 index 0000000..81c68df --- /dev/null +++ b/main.c @@ -0,0 +1,20 @@ +/* 매개변수가 없는 함수의 호출식 */ + +/* 문법 + * 식 ( ) 형태로 함수호출식을 씁니다. + * 여기서의 식은 함수를 가리켜야 합니다. 함수 이름 등이 가능합니다. + * + * 의미 + * 함수를 실행합니다. + * 함수에서 반환한 값이 식의 결과값이 됩니다. + */ + +/* five는 int 타입의 값인 5를 반환하는 함수입니다. */ +int five() { + return 5; +} + +int main() { + /* To Do: five()를 호출한 결과를 반환해보세요 */ + return five(); +}