Functions in Objective-C and C Programming

47
Paul Solt iPhoneDev.tv Functions Instruction manuals for computers

description

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.

Transcript of Functions in Objective-C and C Programming

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