/* example with chars and C-style strings */ #include #include #include int main () { char str1 [16] = "012345678901234"; char str2 [16] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', '\0'}; char * str3 = str1; printf ("initialization\n"); printf (" str1: %s\n", str1); printf (" str2: %s\n", str2); printf (" str3: %s\n\n", str3); printf ("integer values of variables\n"); printf (" str1: %ld\n", str1); printf (" str2: %ld\n", str2); printf (" str3: %ld\n\n", str3); printf ("addresses of variables\n"); printf (" str1: %ld\n", &str1); printf (" str2: %ld\n", &str2); printf (" str3: %ld\n\n", &str3); printf ("changing str1[3], str2[6], and str3[9]\n"); str1[3] = 'X'; str2[6] = 'Y'; str3[9] = 'Z'; printf (" str1: %s\n", str1); printf (" str2: %s\n", str2); printf (" str3: %s\n\n", str3); printf ("changing str3 reference\n"); str3 = str2; printf (" str1: %s\n", str1); printf (" str2: %s\n", str2); printf (" str3: %s\n\n", str3); printf ("overwriting end of str1\n"); str1[15] = 'Q'; printf (" str1: %s\n\n", str1); printf ("overwriting end of str2\n"); str2[15] = 'R'; printf (" str2: %s\n\n", str2); printf ("initialization and pointer to constant string\n"); char str4 [16] = "hello"; char * str5 = "hello"; printf (" str4: %s\n", str4); printf (" str5: %s\n\n", str5); printf ("accessing individual characters\n"); int i; for (i = 0; i < strlen(str4); i++) printf (" '%c' ", str4[i]); printf ("\n"); for (i = 0; i < strlen(str5); i++) printf (" '%c' ", str5[i]); printf ("\n"); printf ("changing individual characters to upper case\n"); for (i = 0; i < strlen(str4); i++) str4[i] = toupper(str4[i]); printf (" str4: %s\n", str4); str5[0] = 'H'; printf (" str5: %s\n", str5); return 0; }