Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Espaรฑol
Portuguรชs
Franรงais
Deutsche
Cancel
Save
EN
Uploaded by
Kwang Woo NAM
360 views
Swift 3 Programming for iOS: Function
Swift 3 Programming for iOS
Mobile
โฆ
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 17
2
/ 17
3
/ 17
4
/ 17
5
/ 17
6
/ 17
7
/ 17
8
/ 17
9
/ 17
10
/ 17
11
/ 17
12
/ 17
13
/ 17
14
/ 17
15
/ 17
16
/ 17
17
/ 17
More Related Content
PDF
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L04 ํญ๊ณต์ฌ์ง์ ์ดํด
by
Kwang Woo NAM
ย
PDF
Swift 3 Programming for iOS : class and structure
by
Kwang Woo NAM
ย
PDF
์ง๋จ์ง์ฑ ํ๋ก๊ทธ๋๋ฐ 02-์ถ์ฒ์์คํ ๋ง๋ค๊ธฐ
by
Kwang Woo NAM
ย
PDF
[FOSS4G KOREA 2014]Hadoop ์์์ MapReduce๋ฅผ ์ด์ฉํ Spatial Big Data ์ง๊ณ์ ์์คํ ๊ตฌ์ถ
by
Kwang Woo NAM
ย
PDF
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L06 GIS์ ์ดํด
by
Kwang Woo NAM
ย
PDF
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L08 gnss์ ๊ฐ๋ ๊ณผ ํ์ฉ
by
Kwang Woo NAM
ย
PDF
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L05 ์ฐ๋ฆฌ๋๋ผ์ ์์น์ง๋
by
Kwang Woo NAM
ย
PDF
์ง๋จ์ง์ฑ ํ๋ก๊ทธ๋๋ฐ 03-๊ตฐ์ง๋ฐ๊ฒฌ-03
by
Kwang Woo NAM
ย
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L04 ํญ๊ณต์ฌ์ง์ ์ดํด
by
Kwang Woo NAM
ย
Swift 3 Programming for iOS : class and structure
by
Kwang Woo NAM
ย
์ง๋จ์ง์ฑ ํ๋ก๊ทธ๋๋ฐ 02-์ถ์ฒ์์คํ ๋ง๋ค๊ธฐ
by
Kwang Woo NAM
ย
[FOSS4G KOREA 2014]Hadoop ์์์ MapReduce๋ฅผ ์ด์ฉํ Spatial Big Data ์ง๊ณ์ ์์คํ ๊ตฌ์ถ
by
Kwang Woo NAM
ย
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L06 GIS์ ์ดํด
by
Kwang Woo NAM
ย
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L08 gnss์ ๊ฐ๋ ๊ณผ ํ์ฉ
by
Kwang Woo NAM
ย
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L05 ์ฐ๋ฆฌ๋๋ผ์ ์์น์ง๋
by
Kwang Woo NAM
ย
์ง๋จ์ง์ฑ ํ๋ก๊ทธ๋๋ฐ 03-๊ตฐ์ง๋ฐ๊ฒฌ-03
by
Kwang Woo NAM
ย
Viewers also liked
PDF
Swift 3 Programming for iOS : subscript init
by
Kwang Woo NAM
ย
PDF
Swift 3 Programming for iOS: error handling
by
Kwang Woo NAM
ย
PDF
Swift 3 Programming for iOS : Enumeration
by
Kwang Woo NAM
ย
PDF
์ง๋จ์ง์ฑ ํ๋ก๊ทธ๋๋ฐ 07-๊ณ ๊ธ ๋ถ๋ฅ ๊ธฐ๋ฒ-์ปค๋ ๊ธฐ๋ฒ๊ณผ svm-01
by
Kwang Woo NAM
ย
PDF
์ง๋จ์ง์ฑ ํ๋ก๊ทธ๋๋ฐ 06-์์ฌ๊ฒฐ์ ํธ๋ฆฌ-01
by
Kwang Woo NAM
ย
PDF
์ง๋จ์ง์ฑ ํ๋ก๊ทธ๋๋ฐ 01-๋ฐ์ดํฐ๋ง์ด๋ ๊ฐ์
by
Kwang Woo NAM
ย
PDF
Swift 3 Programming for iOS
by
Kwang Woo NAM
ย
PDF
์ง๋จ์ง์ฑ ํ๋ก๊ทธ๋๋ฐ 04-๊ฒ์๊ณผ ๋ญํน-02
by
Kwang Woo NAM
ย
PDF
Swift 3 Programming for iOS : Closure
by
Kwang Woo NAM
ย
PDF
์ง๋จ์ง์ฑ ํ๋ก๊ทธ๋๋ฐ 08-๊ฐ๊ฒฉ๋ชจ๋ธ๋ง
by
Kwang Woo NAM
ย
PDF
Hacker News
by
Daegeun Lee
ย
PDF
์ง๋จ์ง์ฑ ํ๋ก๊ทธ๋๋ฐ 05-๋ฌธ์ํํฐ๋ง-02
by
Kwang Woo NAM
ย
PDF
class vs struct
by
Daniel Souza
ย
PDF
8 swift แแ ฎแผแแ ฅแธแแ กแทแแ ฎ
by
Changwon National University
ย
PDF
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L07 ์๊ฒฉํ์ฌ์ ๊ฐ๋ ๊ณผ ํ์ฉ
by
Kwang Woo NAM
ย
PDF
Class vs struct for Swift
by
Hirakawa Akira
ย
PDF
Struct vs Class in Swift
by
Ungur Laurentiu Nicolae
ย
PDF
SwiftใซใใใClassใจStructใฎไฝฟใๅใ
by
Kazunobu Tasaka
ย
PDF
Support Vector Machines
by
Daegeun Lee
ย
PDF
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L11 ๊ณต๊ฐ์ ๋ณด์ ๊ตฌ์ถ
by
Kwang Woo NAM
ย
Swift 3 Programming for iOS : subscript init
by
Kwang Woo NAM
ย
Swift 3 Programming for iOS: error handling
by
Kwang Woo NAM
ย
Swift 3 Programming for iOS : Enumeration
by
Kwang Woo NAM
ย
์ง๋จ์ง์ฑ ํ๋ก๊ทธ๋๋ฐ 07-๊ณ ๊ธ ๋ถ๋ฅ ๊ธฐ๋ฒ-์ปค๋ ๊ธฐ๋ฒ๊ณผ svm-01
by
Kwang Woo NAM
ย
์ง๋จ์ง์ฑ ํ๋ก๊ทธ๋๋ฐ 06-์์ฌ๊ฒฐ์ ํธ๋ฆฌ-01
by
Kwang Woo NAM
ย
์ง๋จ์ง์ฑ ํ๋ก๊ทธ๋๋ฐ 01-๋ฐ์ดํฐ๋ง์ด๋ ๊ฐ์
by
Kwang Woo NAM
ย
Swift 3 Programming for iOS
by
Kwang Woo NAM
ย
์ง๋จ์ง์ฑ ํ๋ก๊ทธ๋๋ฐ 04-๊ฒ์๊ณผ ๋ญํน-02
by
Kwang Woo NAM
ย
Swift 3 Programming for iOS : Closure
by
Kwang Woo NAM
ย
์ง๋จ์ง์ฑ ํ๋ก๊ทธ๋๋ฐ 08-๊ฐ๊ฒฉ๋ชจ๋ธ๋ง
by
Kwang Woo NAM
ย
Hacker News
by
Daegeun Lee
ย
์ง๋จ์ง์ฑ ํ๋ก๊ทธ๋๋ฐ 05-๋ฌธ์ํํฐ๋ง-02
by
Kwang Woo NAM
ย
class vs struct
by
Daniel Souza
ย
8 swift แแ ฎแผแแ ฅแธแแ กแทแแ ฎ
by
Changwon National University
ย
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L07 ์๊ฒฉํ์ฌ์ ๊ฐ๋ ๊ณผ ํ์ฉ
by
Kwang Woo NAM
ย
Class vs struct for Swift
by
Hirakawa Akira
ย
Struct vs Class in Swift
by
Ungur Laurentiu Nicolae
ย
SwiftใซใใใClassใจStructใฎไฝฟใๅใ
by
Kazunobu Tasaka
ย
Support Vector Machines
by
Daegeun Lee
ย
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L11 ๊ณต๊ฐ์ ๋ณด์ ๊ตฌ์ถ
by
Kwang Woo NAM
ย
Similar to Swift 3 Programming for iOS: Function
PDF
9 swift แแ ณแฏแ แ ฉแแ ฅ1
by
Changwon National University
ย
PDF
Function & Closure about Swift
by
KimDaeho
ย
PDF
Swift แแ ฆแแ ตแแ ก
by
์ฉ์ฌ ๊น
ย
PDF
2 swift แแ กแผแแ ฎ_แแ งแซแแ ฎ_แแ ฒแแ ณแฏ
by
Changwon National University
ย
PPTX
Swift2
by
HyungKuIm
ย
PDF
Swift5 vs objective c
by
Bill Kim
ย
PDF
[SwiftStudy 2016] 2์ฅ. Swift ํ์ ํํธ 1
by
Keunhyun Oh
ย
PDF
Swift 3 Programming for iOS : Control flow
by
Kwang Woo NAM
ย
9 swift แแ ณแฏแ แ ฉแแ ฅ1
by
Changwon National University
ย
Function & Closure about Swift
by
KimDaeho
ย
Swift แแ ฆแแ ตแแ ก
by
์ฉ์ฌ ๊น
ย
2 swift แแ กแผแแ ฎ_แแ งแซแแ ฎ_แแ ฒแแ ณแฏ
by
Changwon National University
ย
Swift2
by
HyungKuIm
ย
Swift5 vs objective c
by
Bill Kim
ย
[SwiftStudy 2016] 2์ฅ. Swift ํ์ ํํธ 1
by
Keunhyun Oh
ย
Swift 3 Programming for iOS : Control flow
by
Kwang Woo NAM
ย
More from Kwang Woo NAM
PDF
๋ฉํ๋ฒ์ค์๋์_๋์งํธํธ์๊ณผ_์ง์ญ์ฑv01.pdf
by
Kwang Woo NAM
ย
PDF
ํด์๋์งํธํธ์v02.pdf
by
Kwang Woo NAM
ย
PDF
Moving objects media data computing(2019)
by
Kwang Woo NAM
ย
PDF
Moving Objects and Spatial Data Computing
by
Kwang Woo NAM
ย
PDF
์ธ์ํธ/ ํ์ดํ๋ํธ ์ฌ๊ณ ์ ๋น ๋ฐ์ดํฐ ๋ฐฉ๋ฒ๋ก ์ ๋ถ์
by
Kwang Woo NAM
ย
PDF
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L03 ์ง๊ตฌ์ํ์๊ณผ์ขํ์ฒด๊ณ
by
Kwang Woo NAM
ย
PDF
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L02 ๊ณต๊ฐ์ ๋ณด์ ์ง๋ฆฌ์ ๋ณด
by
Kwang Woo NAM
ย
PDF
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L01 ๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ์
by
Kwang Woo NAM
ย
PDF
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L12 ๊ณต๊ฐ์ ๋ณด๋ถ์
by
Kwang Woo NAM
ย
PDF
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L10 ์์นํ๊ณ ๋ชจ๋ธ
by
Kwang Woo NAM
ย
PDF
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L09 ๊ณต๊ฐ ๋ฐ์ดํฐ ๋ชจ๋ธ
by
Kwang Woo NAM
ย
PDF
Swift 3 Programming for iOS : Protocol
by
Kwang Woo NAM
ย
PDF
Swift 3 Programming for iOS : extension
by
Kwang Woo NAM
ย
PDF
Swift 3 Programming for iOS : Collection
by
Kwang Woo NAM
ย
PDF
Swift 3 Programming for iOS : data type
by
Kwang Woo NAM
ย
๋ฉํ๋ฒ์ค์๋์_๋์งํธํธ์๊ณผ_์ง์ญ์ฑv01.pdf
by
Kwang Woo NAM
ย
ํด์๋์งํธํธ์v02.pdf
by
Kwang Woo NAM
ย
Moving objects media data computing(2019)
by
Kwang Woo NAM
ย
Moving Objects and Spatial Data Computing
by
Kwang Woo NAM
ย
์ธ์ํธ/ ํ์ดํ๋ํธ ์ฌ๊ณ ์ ๋น ๋ฐ์ดํฐ ๋ฐฉ๋ฒ๋ก ์ ๋ถ์
by
Kwang Woo NAM
ย
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L03 ์ง๊ตฌ์ํ์๊ณผ์ขํ์ฒด๊ณ
by
Kwang Woo NAM
ย
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L02 ๊ณต๊ฐ์ ๋ณด์ ์ง๋ฆฌ์ ๋ณด
by
Kwang Woo NAM
ย
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L01 ๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ์
by
Kwang Woo NAM
ย
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L12 ๊ณต๊ฐ์ ๋ณด๋ถ์
by
Kwang Woo NAM
ย
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L10 ์์นํ๊ณ ๋ชจ๋ธ
by
Kwang Woo NAM
ย
[๊ณต๊ฐ์ ๋ณด์์คํ ๊ฐ๋ก ] L09 ๊ณต๊ฐ ๋ฐ์ดํฐ ๋ชจ๋ธ
by
Kwang Woo NAM
ย
Swift 3 Programming for iOS : Protocol
by
Kwang Woo NAM
ย
Swift 3 Programming for iOS : extension
by
Kwang Woo NAM
ย
Swift 3 Programming for iOS : Collection
by
Kwang Woo NAM
ย
Swift 3 Programming for iOS : data type
by
Kwang Woo NAM
ย
Swift 3 Programming for iOS: Function
1.
Swift 3 :
Functions ๊ตฐ์ฐ๋ํ๊ต ์ปดํจํฐ์ ๋ณดํต์ ๊ณตํ๋ถ ์ปดํจํฐ์ ๋ณด๊ณตํ์ ๊ณต ๋จ ๊ด ์ฐ kwnam@kunsan.ac.kr Swiftย 3ย Tourย andย Languageย Guideย byย Apple
2.
Function์ ์ ์ธ โข Function์
ํํ ์ func ํจ์๋ช (ย ย ํ๋ผ๋ฏธํฐ๋ช :ย ํ์ ,โฆ)ย โ>ย ๋ฐํ ํ์ { body } charย *greet(ย char*ย person) { charย ย *greeting=(char*)calloc(30,1); strcat(ย greeting,ย โHello,ย โ); strcat(ย gStr,ย personย ); strcat(ย gStr,ย โ!โย ); returnย greeting; } printf(ย โ%sโ,ย greet(ย "Anna")ย ) //ย Printsย "Hello,ย Anna!" printf(โ%sโ,ย greet(ย "Brian")ย ) //ย Printsย "Hello,ย Brian!" C funcย greet(person:ย String)ย โ>ย Stringย { letย greetingย =ย "Hello,ย "ย +ย personย +ย "!" returnย greeting } print(ย greet(person:ย "Anna")ย ) //ย Printsย "Hello,ย Anna!" print(greet(person:ย "Brian")) //ย Printsย "Hello,ย Brian!" Swift #includeย <stdio.h> #includeย <string.h> #includeย <stdlib.h>
3.
Function์ ์ ์ธ โข Functionsย withoutย Parameter โข
Functionsย withย Multipleย Parameter funcย ย sayHelloWorld()ย โ>ย Stringย { returnย "hello,ย world" } print(sayHelloWorld()) //ย Printsย "hello,ย world" funcย greet(person:ย String,ย alreadyGreeted:ย Bool)ย โ>ย Stringย { ifย alreadyGreetedย { returnย greetAgain(person:ย person) }ย elseย { returnย greet(person:ย person) } } print(greet(person:ย "Tim",ย alreadyGreeted:ย true)) //ย Printsย "Helloย again,ย Tim!"
4.
Function์ ์ ์ธ โข Functionsย withoutย Returnย Value โข
return๊ฐ ์๋ ํจ์์ return๊ฐ์ ์ฌ์ฉํ์ง ์์๋ OK funcย greet(person:ย String)ย { print("Hello,ย (person)!") } greet(person:ย "Dave") //ย Printsย "Hello,ย Dave!" funcย printAndCount(string:ย String)ย โ>ย Intย { print(string) returnย string.characters.count } funcย printWithoutCounting(string:ย String)ย { letย _ย =ย printAndCount(string:ย string) } printAndCount(string:ย "hello,ย world") printWithoutCounting(string:ย "hello,ย world")
5.
Function์ ์ ์ธ โข Functionsย withoutย Multiple
Returnย Value โข return๊ฐ์ด tuple์ธ ํจ์ funcย minMax(array:ย [Int])ย โ>ย (min:ย Int,ย max:ย Int)ย { varย currentMinย =ย array[0] varย currentMaxย =ย array[0] forย valueย inย array[1..<array.count]ย { ifย valueย <ย currentMinย { currentMinย =ย value }ย elseย ifย valueย >ย currentMaxย { currentMaxย =ย value } } returnย (currentMin,ย currentMax) } letย boundsย =ย minMax(array:ย [8,ย โ6,ย 2,ย 109,ย 3,ย 71]) print("minย isย (bounds.min)ย andย maxย isย (bounds.max)") //ย Printsย "minย isย โ6ย andย maxย isย 109" arrayย ๊ฐ ํ์คํ nil์ด ์๋๋ผ๊ณ ๊ฐ์ ํ ํ๋ก๊ทธ๋จ! ๋ง์ฝ?ย Nilย ์ด ์ฌ์ ์๋ค๋ฉด? Optional
6.
Function์ ์ ์ธ โข Functionsย withย Optional
Returnย Value โข return๊ฐ์ด Optionalย ์ธ ํจ์ funcย minMax(array:ย [Int])ย โ>ย (min:ย Int,ย max:ย Int)?ย { ifย array.isEmpty {ย returnย nilย } varย currentMinย =ย array[0] varย currentMaxย =ย array[0] forย valueย inย array[1..<array.count]ย { ifย valueย <ย currentMinย { currentMinย =ย value }ย elseย ifย valueย >ย currentMaxย { currentMaxย =ย value } } returnย (currentMin,ย currentMax) } print(ย minMax(ย array:[5,3,6]ย ).minย );x print(ย minMax(ย array:[5,3,6]ย )!.minย ); ifย letย bย =ย minMax(array:ย [8,ย โ6,ย 2]) { print("(b.min)ย (b.max)") }ย //ย nilย ์ด๋ฉด ์ํ๋์ง ์์ xo o ๊ฐ๋ฅ์ ํ๋ ๋๋๋ก ์ฌ์ฉํ๋ฉด ์๋จ ifย letย bย =ย minMax(array:ย []) { print("(b.min)ย (b.max)") }ย //ย nilย ์ด๋ฉด ์ํ๋์ง ์์
7.
Function์ Argument Label โข
Function์ Argumentย Label โข parameterย Name์ด ํ๋์ธ ๊ฒฝ์ฐ Arg Name์ ๊ฒธํจ โข Argumentย Label์ ๋ณ๋๋ก ์ธ ์ ์์ funcย greet(ย person:ย Stringย )ย { print("Hello,ย (person)!") } greet(ย person:ย "Dave")ย " person์ Argumentย Label์ด๋ฉด์ parameterย name funcย greet(ย person:ย String,ย fromย hometown:ย String)ย โ>ย Stringย { returnย "Helloย (person)!ย ย Gladย youย couldย visitย fromย (hometown)." } print(ย greet(ย person:ย "Bill",ย from:ย "Cupertino")ย )ย ย //OK //ย Printsย "Helloย Bill!ย ย Gladย youย couldย visitย fromย Cupertino. print(ย greet(ย person:ย "Bill",ย hometownย :ย "Cupertino")ย )ย //ย ERROR!!
8.
Function์ Argument Label โข
Argumentย Labelย ์๋ต โข _์ ์ด์ฉํ Labelย ์๋ต โข ์ :ย print โข print(ย โHelloโย );ย //ย Noย Label funcย someFunction(ย ย _ย first:ย Int,ย secondย :ย Int)ย { //ย Inย theย functionย body,ย firstย andย second //ย referย toย theย argumentย valuesย forย theย firstย andย secondย parameters. } someFunction(ย ย ย ย ย 1,ย secondย :ย 2)
9.
Function์ Default Value funcย someFunction(ย noDefault:ย Int,ย withDefault:ย Intย =ย 12)ย { //ย Ifย youย omitย theย secondย argumentย whenย callingย thisย function,ย then //ย theย valueย ofย withDefaultย isย 12ย insideย theย functionย body. } โข
Function์ Parameter๋ก Defaultย ์ฌ์ฉ๊ฐ๋ฅ โข defaultย ๊ฐ์ด ์์ผ๋ฉด ํ๋ผ๋ฏธํฐ ์๋ต ๊ฐ๋ฅ someFunction(ย noDefault:ย 3,ย withDefault:ย 6)ย //ย withDefaultย isย 6 someFunction(ย noDefault:ย 4)ย //ย parameterWithDefaultย isย 12ย
10.
Variadic Parameter โข ๋ถํน์
๊ฐฏ์์ ํ๋ผ๋ฏธํฐ โข โฆย ์ผ๋ก ์ฌ์ฉ funcย arithmeticMean(ย _ย numbers:ย Double...ย )ย โ>ย Doubleย { varย total:ย Doubleย =ย 0 forย numberย inย numbersย { totalย +=ย number } returnย totalย /ย Double(numbers.count) } arithmeticMean(1,ย 2,ย 3,ย 4,ย 5) //ย returnsย 3.0,ย whichย isย theย arithmeticย meanย ofย theseย fiveย numbers arithmeticMean(3,ย 8.25,ย 18.75) //ย returnsย 10.0,ย whichย isย theย arithmeticย meanย ofย theseย threeย numbers
11.
In-Out Parameter โข Inout
ํค์๋์ ์ฌ์ฉ โข Cย :ย CallโbyโValue,ย CallโByโReference โข C์์ SWAP์ ๊ตฌํ โข Swift์์์ SWAP voidย swap(int*ย a,ย int*ย b)ย { intย tempย =ย *a; *aย =ย *b; *bย =ย temp; } intย i =ย 300; intย jย =ย 500; swap(&i,ย &j); funcย swap(_ย a:ย inout Int,ย _ย b:ย inout Int)ย { letย tempย =ย a aย =ย b bย =ย temp } varย i =ย 300; varย jย =ย 500; swap(ย &i,ย &j);
12.
Function์์ Function ์ฌ์ฉ โข
Functionย โข Cย :ย ํจ์ ํฌ์ธํฐ typedefย intย (*calcFuncPtr)(int,ย int); intย calc(calcFuncPtrย cfPtr,ย intย left,ย intย rightย ) { returnย cfPtr(left,ย right);ย ย } intย plusย (intย left,ย intย right) { returnย leftย +ย right; } intย minusย (intย left,ย intย right) { returnย leftย โ right; } intย main(intย argc,ย char**ย argv) { calcFuncPtrย cfPtrย =ย NULL; intย lย =ย 0,ย rย =ย 0; scanfย ("%dย %cย %d",ย &l,ย &op,ย &r); switchย (op)ย ย ย { caseย '+'ย : cfPtrย =ย plus; break; caseย 'โ': cfPtrย =ย minus; break; } printf("ย %dย ",ย calc(ย l,ย r,ย cfPtrย )ย ); }
13.
Function์ Function ํ ๋น โข
ํจ์ ์ ์ธ์์ Function์ Assignment varย mathFunction:ย (Int,ย Int)ย โ>ย Intย =ย addTwoInts funcย addTwoInts(_ย a:ย Int,ย _ย b:ย Int)ย โ>ย Intย { returnย aย +ย b } funcย multiplyTwoInts(_ย a:ย Int,ย _ย b:ย Int)ย โ>ย Intย { returnย aย *ย b } print("Result:ย (ย mathFunction(2,ย 3))") //ย Printsย "Result:ย 5 mathFunction =ย multiplyTwoInts print("Result:ย (mathFunction(2,ย 3))") //ย Printsย "Result:ย
14.
Function์ Function ํ๋ผ๋ฏธํฐ โข
ํจ์ ์ ์ธ์์ Function์ Parameter๋ก ์ฌ์ฉ funcย printMathResult(_ย mathFunction:ย (Int,ย Int)ย โ>ย Int,ย _ย a:ย Int,ย _ย b:ย Int)ย { print("Result:ย (mathFunction(a,ย b))") } printMathResult(ย addTwoInts,ย 3,ย 5) //ย Printsย "Result:ย 8" printMathResult(multiplyTwoInts,ย 3,ย 5) funcย addTwoInts(_ย a:ย Int,ย _ย b:ย Int)ย โ>ย Intย { returnย aย +ย b } funcย multiplyTwoInts(_ย a:ย Int,ย _ย b:ย Int)ย โ>ย Intย { returnย aย *ย b }
15.
Function์ Function ๋ฐํ โข
Function์ Returnํ๋ Function funcย stepForward(_ย input:ย Int)ย โ>ย Intย { returnย inputย +ย 1 } funcย stepBackward(_ย input:ย Int)ย โ>ย Intย { returnย inputย โ 1 } funcย chooseStepFunction (backward:ย Bool)ย โ>ย (Int)ย โ>ย Intย { returnย backwardย ?ย stepBackwardย :ย stepForward } varย currentValueย =ย 3 letย moveNearerToZeroย =ย chooseStepFunction(backward:ย currentValueย >ย 0) whileย currentValueย !=ย 0ย { print("(currentValue)...ย ") currentValueย =ย moveNearerToZero(currentValue) } print("zero!") +3ย ์ด๋ฉด :ย 3,ย 2,ย 1,ย zero! โ3ย ์ด๋ฉด :ย โ3,ย โ2,ย โ1,ย zero!
16.
Function์์ Function โข Nestedย Function funcย chooseStepFunction(backward:ย Bool)ย โ>ย (Int)ย โ>ย Intย { funcย stepForward(input:ย Int)ย โ>ย Intย {ย returnย inputย +ย 1ย } funcย stepBackward(input:ย Int)ย โ>ย Intย {ย returnย inputย โ
1ย } returnย backwardย ?ย stepBackwardย :ย stepForward } varย currentValueย =ย โ4 letย moveNearerToZeroย =ย chooseStepFunction(backward:ย currentValueย >ย 0) whileย currentValueย !=ย 0ย { print("(currentValue)...ย ") currentValueย =ย moveNearerToZero(currentValue) } print("zero!") +3ย ์ด๋ฉด :ย 3,ย 2,ย 1,ย zero! โ3ย ์ด๋ฉด :ย โ3,ย โ2,ย โ1,ย zero!
17.
o ๋ค์์ ์ฑ์
์ฒ๋ฆฌ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค(1์ฐจ์๋ฐฐ์ด, ์ ๋ ฌ, ํ์ ๋ฒ์ ) - ๋ค์์ ํ๋ฉด์ ์ํด ๋์ํ๋ ํ๋ก๊ทธ๋จ์ ๊ตฌํํ์์ค. (0 ์ข ๋ฃ๊ฐ ์ ๋ ฅ๋ ๋๊น์ง ๋ฐ๋ณต) * 1๋ฐ ์ฑ์ ์ฒ๋ฆฌ ํ๋ก๊ทธ๋จ(1๋ฐ ์ ์ 10๋ช , ๊ฐ 100์ ๋ง์ ) 1. ๊ตญ์ด์ฑ์ ์ ๋ ฅ 2. ์์ด์ฑ์ ์ ๋ ฅ 3. ์ํ์ฑ์ ์ ๋ ฅ 4. ๊ฐ ๊ณผ๋ชฉ์ ํ๊ท ์ ์ถ๋ ฅํ์์ค(์ถ๋ ฅ ์: ๊ตญ์ด 34์ , ์์ด 75์ , ์ํ 56์ ) 5. ๊ฐ ๊ณผ๋ชฉ์ ์ต๊ณ ์ ์ ์ถ๋ ฅํ์์ค(์ถ๋ ฅ ์ : ๊ตญ์ด 79์ , ์์ด 89์ , ์ํ 82์ ) 6. ๊ฐ ๊ณผ๋ชฉ์ ์ต์ ์ ์ ์ถ๋ ฅํ์์ค(์ถ๋ ฅ ์ : ๊ตญ์ด 39์ , ์์ด 39์ , ์ํ 32์ ) 7. ๊ฐ ๊ณผ๋ชฉ์ ์ต๊ณ ์ ์์ ํ์๋ฒํธ๋ฅผ ์ถ๋ ฅํ์์ค(์ถ๋ ฅ ์ : ๊ตญ์ด 1๋ฒ, ์์ด 5์ , ์ํ 9์ ) 8. ๊ฐ ๊ณผ๋ชฉ์ ์ ์๋ฅผ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ์ฌ ์ถ๋ ฅํ์์ค 0. ์ข ๋ฃ ์ ๋ ฅ :____ Report
Download