/* * This is the example from class, Sep 29 */ #include int main(int argc, char **argv) { int b[] = {'a', 'b', 'c', 'd', 'e', 'f', '\0'}; char c[] = "abcdef"; char *d = "abcdef"; int *p = b; int *q = p+6; char *r = c; /* c = d; compilation error */ d = c; /* this is ok */ while(*p != 0) { printf("char: [%c]\n", *p++); } p = b; while (p < q) { printf("char: [%c]\n", *p++); } while(*r != 0) { printf("char: [%c]\n", *r++); } p = (int *) b; while(*p != 0) { printf("char: [%c]\n", *p++); } return 0; } /* * Test run: sherri@grace ~/curriculum/09_10/sos/osLabSupport/examples $ gcc -ansi pointer.c sherri@grace ~/curriculum/09_10/sos/osLabSupport/examples $ ./a.out char: [a] char: [b] char: [c] char: [d] char: [e] char: [f] char: [a] char: [b] char: [c] char: [d] char: [e] char: [f] char: [a] char: [b] char: [c] char: [d] char: [e] char: [f] char: [a] char: [b] char: [c] char: [d] char: [e] char: [f] sherri@grace ~/curriculum/09_10/sos/osLabSupport/examples $ */