Lecture 8b Strings BJ Furman 15OCT2012 Overview Strings What is a string How do you declare and initialize an string How can you use a string String Examples String Practice Learning Objectives Explain what a string is Explain the connection between arrays and strings Declare and initialize a string Use a string in a program What is a String Last time we looked at arrays data structures that contain a collection of data objects of the same data type A string is an array of characters terminated by the NUL character Data type is array of characters The NUL character is a character with a numeric value of zero String constant or string literal Any series of characters enclosed in double quotes String In C it is represented by the escape sequence 0 NUL Ex Hello world example program stores a string constant stores individual elements note character constants note terminate with 0 to make the character array a string strings1 c What is an array include stdio h int main int i char str1 Hello world char str2 5 str2 0 M str2 1 E str2 2 3 str2 3 0 str2 4 0 printf str1 s n str1 for i 0 i 5 i printf str2 d c n i str2 i return 0 strings1 c Initializing String Variables Declare as an array of type char Can initialize implicitly or explicitly using a string constant or using individual characters and a terminating NUL character If explicit make sure that nelements nchars in string 1 strings1 c include stdio h int main int i char str1 Hello world char str3 12 Hello world char str2 5 str2 0 M str2 1 E str2 2 3 str2 3 0 str2 4 0 printf str1 s n str1 for i 0 i 5 i printf str2 d c n i str2 i return 0 American Standard Code for Information Interchange ASCII Table Printing Strings to stdout Can print an entire string using printf and s format specification Can print individual elements of a string by indexing and using c format specification strings1 c include stdio h int main int i char str1 Hello world char str3 12 Hello world char str2 5 str2 0 M str2 1 E str2 2 3 str2 3 0 str2 4 0 printf str1 s n str1 for i 0 i 5 i printf str2 d c n i str2 i return 0 Strings Practice 1 Declare A string variable named me30 and initialize it to hold the string ME 30 rocks Determine The minimum number of character array elements needed to store the string length of the string What is stored in me30 2 What is stored in me30 12 Strings Practice 1 solution Declare char me30 ME 30 rocks 13 Try sizeof me30 sizeof char Or strlen me30 1 me30 2 space What is stored in me30 12 0 Manipulating Strings in C No native support for strings in C include string h See http www cppreference com wiki c string start ME 30 website Programming Resources C Programming Language Related Language References The Standard C Library from cppreference com Copying and Concatenating Strings to copy str2 to str1 order resembles assignment strcpy str1 str2 str1 str2 Will NOT work to add concatenate str2 to the end of str1 strcat str1 str2 returns the value of str1 with str2 added to the end Note it clobbers the 0 at the end of str1 Make sure that str1 has room for str2 Example strings2 copy concat c Finding the Length of a String Use strlen string returns length of the string Example strings3 copy concat length c Review References Standard C String and Character Library http www cppreference com wiki c string start Visited 22MAR2010 http www asciitable com Visited 03OCT2009
View Full Document