/* name: Darin Brezeale date: 06/26/2013 purpose: pointers as array values */ #include #include int main(void) { char* text[] = {"cat", "horse", "elephant"}; int i, k, length; char* s = "Ralph"; /* string literal */ char s_array[5] = "abcd"; printf("sizeof text = %lu\n", sizeof(text)); printf("sizeof text[0] = %lu\n", sizeof(text[0])); printf("sizeof char* = %lu\n", sizeof(char*)); printf("text[0] = %p\n", (void*) text[0]); printf("text[0] = %s\n", text[0]); text[1] = "this is just some long string"; for(k = 0; k < 3; k++) { length = strlen(text[k]); for(i = 0; i < length; i++) printf("%p, %c\n", (void*) &text[k][i], text[k][i]); printf("\n"); } for(k = 0; k<5; k++) { printf("%p, %c\n", (void*) &s_array[k], s_array[k]); } printf("==> %c\n", s[0]); /* don't do this s[0] = 'X'; */ s = text[0]; printf("==> %s\n", s); }