Top Banner
Paul Solt iPhoneDev.tv Functions Instruction manuals for computers
47

Functions in Objective-C and C Programming

Nov 29, 2014

Download

Education

Paul Solt

Course Link: http://skl.sh/11kA0im
Website: http://iPhoneDev.tv

Learn about functions which allow you to organize your code into chunks. Functions allow you to delegate work between different blocks of code.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

FunctionsInstruction manuals for computers

Page 2: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Outline•Functions

•Stack Frame

•Recursion

•Debugging

•Global Variables

Page 3: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Page 4: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Desk

1. Build small drawer2. Build large drawer 3. Build desk frame4. Insert small drawer5. Insert large drawer

Page 5: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Area = A x B

Area

A

B

Page 6: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

int area(int sideA, int sideB)

Page 7: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

int area(int sideA, int sideB)

return type

Page 8: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

int area(int sideA, int sideB)

name

return type

Page 9: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

int area(int sideA, int sideB)

name parameter

return type

parameter

Page 10: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

int area(int sideA, int sideB)

Page 11: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

int area(int sideA, int sideB) { int result = sideA * sideB; return result; }

Page 12: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

int total = area(4, 2);

Page 13: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

int total = area(4, 2);

arguments

Page 14: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

int total = area(4, 2);

8

arguments

Page 15: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

int total = area(4, 2);

Page 16: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Frame

•“Sandbox”

•Local Variables

Page 17: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Frame

•“Sandbox”

•Local Variables

main()total = area(4,2);

Page 18: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Frame

•“Sandbox”

•Local Variables

main()total = area(4,2);

area(4,2)sideA = 4sideB = 2result = 8

Page 19: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Frame

•“Sandbox”

•Local Variables

main()total = area(4,2);

Page 20: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Frame

•“Sandbox”

•Local Variables

main()total = 8;

Page 21: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Frame

•“Sandbox”

•Local Variables

Page 22: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Area

Page 23: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Recursion

Space Shuttle: Countdown Timer1. Display number2. Subtract one3. Repeat steps 1 and 2 (until 0) STS-110, NASA

Page 24: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Recursion

Page 25: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Recursionvoid countDown(int number) { if(number == 0) { printf("Take off!\n"); } else { printf("T-minus %d seconds\n", number); int nextNumber = number - 1; countDown(nextNumber); }}

Page 26: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Recursionvoid countDown(int number) { if(number == 0) { printf("Take off!\n"); } else { printf("T-minus %d seconds\n", number); int nextNumber = number - 1; countDown(nextNumber); }}

Page 27: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Recursionvoid countDown(int number) { if(number == 0) { printf("Take off!\n"); } else { printf("T-minus %d seconds\n", number); int nextNumber = number - 1; countDown(nextNumber); }}

Page 28: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Frame

Page 29: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Framemain()startNumber = 5countDown(5)

Page 30: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)

Page 31: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)

Page 32: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)countDown(3)nextNumber = 2countDown(2)

Page 33: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)countDown(3)nextNumber = 2countDown(2)countDown(2)nextNumber = 1countDown(1)

Page 34: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)countDown(3)nextNumber = 2countDown(2)countDown(2)nextNumber = 1countDown(1)countDown(1)nextNumber = 0countDown(0)

Page 35: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)countDown(3)nextNumber = 2countDown(2)countDown(2)nextNumber = 1countDown(1)countDown(1)nextNumber = 0countDown(0)countDown(0)take off!

Page 36: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)countDown(3)nextNumber = 2countDown(2)countDown(2)nextNumber = 1countDown(1)countDown(1)nextNumber = 0countDown(0)

Page 37: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)countDown(3)nextNumber = 2countDown(2)countDown(2)nextNumber = 1countDown(1)

Page 38: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)countDown(3)nextNumber = 2countDown(2)

Page 39: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)countDown(4)nextNumber = 3countDown(3)

Page 40: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Framemain()startNumber = 5countDown(5)countDown(5)nextNumber = 4countDown(4)

Page 41: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Framemain()startNumber = 5countDown(5)

Page 42: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Stack Frame

Page 43: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

CountDown!

Page 44: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Global Variablesint total = 10

resetTotal()total = 0;

updateTotal()total = total + 1;

Page 45: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Global Variables

Page 46: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv

Review•Functions

•Stack Frame

•Recursion

•Debugging

•Global Variables

Page 47: Functions in Objective-C and C Programming

Paul Solt iPhoneDev.tv