指针在数组中的应用
什么是数组指针?指针数组?
首先,我们要知道什么是指针?什么数组?
指针是某种数据类型的地址;
所以,指针可以是某种类型数组的地址。——数组指针
数组是一系列,同一数据类型的集合;
所以,数组里的元素同一类型的指针。——指针数组
(一)数组指针
类型说明符 * 变量名;//定义
例:
int num[] = {1,2,3};//数组不能先定义后初始化,定义后只能单个元素初始化
//即int num[];num[] = {1,2,3};(错误)
//int num[];num[0]=3;(正确)
int *p;
p = num;
(二)指针数组
类型说明符 * 数组名[数组长度];//定义
类型说明符:表示指针所指向变量的数据类型
* 数组名:表示该数组为指针数组
例:
char *str[3] = { "one","two","three" };
printf("%s\n", str[0]);
输出结果为:
one
(三)字符串指针
类型说明符 * 变量名;//定义
例:
char *str1 = "helloworld";
//上面代码等同于 char *str1;str1="helloworld";
//所以字符串指针相当于字符类型的指针,只不过初始化和定义一步完成
printf("%s\n",str1+4);
输出结果为
oworld