char color5 red blue yellow green black red
指针数组 char * color[5] = { “red”, “blue”, “yellow”, “green”, “black” red color[0 0 }; blue ]color[1 ]color[2 ]color[3 ]color[4 ] 3 0 yellow 0 green 0 black 0
指针数组 char * color[5] = { “red”, “blue”, “yellow”, “green”, “black” red color[0 }; 0 blue ]color[1 ]color[2 ]color[3 ]color[4 ] for( i=0; i<5; i++ ) printf("%d-th color = %sn", i, 5 0 yellow 0 green 0 black 0
指针数组 char * color[5] = { “red”, “blue”, “yellow”, “green”, “black” red }; color[0 ]color[1 ]color[2 ]color[3 ]color[4 ] char *t = color[0]; color[0] = color[4]; color[4] = t; 对一般数组的操作,适合于指针数组 定义,初始化,元素的使用,赋值 6 0 blue 0 yellow 0 green 0 black 0
指针数组和二级指针 char * color[5] = { “red”, “blue”, “yellow”, “green”, “black” color[0 }; color ]color[1 ]color[2 ]color[3 ]color[4 ] 数组名color是一指针, 指向首元素color[0]。 char **pc = color; pc char str[20]; scanf(“%s”, str); for ( i=0; i<5; i++ ) pc[i] if( strcmp(str, *(pc+i))==0 ) break; if(i<5) printf(“color id = %dn”, i); else printf(“not foundn”); 10 red 0 blue 0 yellow 0 green 0 black 0