11.1.2指针数组的概念C语言中的数组可以是任何类型,如果数组的各个元素都是指针类型,用于存放内存地址,那么这个数组就是指针数组一维指针数组定义的一般格式为:类型名*数组名[数组长度]
11.1.2 指针数组的概念 ◼ C语言中的数组可以是任何类型,如果数组 的各个元素都是指针类型,用于存放内存 地址,那么这个数组就是指针数组。 ◼ 一维指针数组定义的一般格式为: 类型名 *数组名[数组长度]
11.1.2指针数组的概念 int a[10];口a是一个数组,它有10个元素口每个元素的类型都是整型 char *color[5];口color是一个数组,它有5个元素口每个元素的类型都是字符指针
11.1.2 指针数组的概念 ◼ int a[10]; a是一个数组,它有10个元素 每个元素的类型都是整型 ◼ char *color[5]; color是一个数组,它有5个元素 每个元素的类型都是字符指针
11.1.2指针数组的概念char*color[5] ={"red","blue","yellow","green","black"};口color是一个数组,它有5个元素对指针数组元素的口每个元素的类型都是字符指针操作和对同类型指口数组元素可以处理字符串针变量的操作相同对指针数组元素的操作:printf("%s%xln",color[],color[i]);colorrediocolor[0]color[1]blueloyellowocolor[2]color[3]greenloblacklocolor[4]
11.1.2 指针数组的概念 char *color[5] = {"red", "blue", "yellow", "green", "black" }; color是一个数组,它有5个元素 每个元素的类型都是字符指针 数组元素可以处理字符串 对指针数组元素的操作: printf("%s %x\n", color[i], color[i]); color color[0] red\0 color[1] blue\0 color[2] color[3] color[4] yellow\0 green\0 black\0 对指针数组元素的 操作和对同类型指 针变量的操作相同
11.1.2指针数组的概念color■继续执行:color[0] rediochar * tmp;color[1]bluelocolor[2]yellowotmp = color[0];color[3]greenlocolor[0] = color[4];color[4]blacklocolor[4] = tmp;color[0]与color[4]交换后的情况指针数组操作时:可以直接对数组元素进行赋值(地址值)和引用tmp=color[0];·也可以间接访问和操作数组元素所指向的单元内容strcpy(color[o],“purple");
◼ 继续执行: char * tmp; tmp = color[0]; color[0] = color[4]; color[4] = tmp; 11.1.2 指针数组的概念 color color[0] red\0 color[1] blue\0 color[2] color[3] color[4] yellow\0 green\0 black\0 color[0]与color[4]交换后的情况 指针数组操作时: •可以直接对数组元素进行赋值(地址值)和引用 tmp=color[0]; •也可以间接访问和操作数组元素所指向的单元内容 strcpy(color[0], “purple");
11.1.3指向指针的指针C语言中,指向指针的指针(二级指针)一般定义为:类型名**变量名int a = 10;int *p = &a;int **pp = &p;papp*p&p&a10*pp**pp
11.1.3 指向指针的指针 ◼ C语言中,指向指针的指针(二级指针)一般 定义为: 类型名 **变量名 int a = 10; int *p = &a; int **pp = &p; &a p a &p 10 pp *p *pp **pp