60 likes | 155 Views
CSC 253. Lecture 7. Storage Classes. Of the following storage class modifiers, extern auto register const volatile static which are in some sense “opposites”? which of them are mutually exclusive?. static variables. Let’s write a program that demonstrates what a static variable does.
E N D
CSC 253 Lecture 7
Storage Classes • Of the following storage class modifiers, • extern auto • register const • volatile static • which are in some sense “opposites”? • which of them are mutually exclusive?
static variables • Let’s write a program that demonstrates what a static variable does. • What are some uses of static variables?
Let’s try a program with externs • Declare int i in one file. • Declare int j in another file. • Declare one function in each of the two files. • What do we need to do to use all the variables and functions from a single main()? • What happens if we make them static? • Why?
Common errors • Let’s write programs demonstrating these … • Same name, different type • this would occur if you used extern to declare a variable, but • then gave it a different type than its original declaration. • Multiple different definitions of the same function with external scope.
Variable # of arguments Let’s write a sum function that takes a variable number of arguments.