60 likes | 160 Views
Learn about storage class modifiers like extern, static, and more. Explore how these modifiers interact, their uses, and common errors in C programming. Includes hands-on programs and examples.
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.