一数组指针的应用:
#include "stdio.h"
typedef float(A)[10]; //定义一个字符型含有十个元素的数组类型A
int main()
{
float fArray[10]; //定义fArray数组
A* pf=&fArray; //pf数组指针指向fArray整个数组的地址入口
int i=0;
for(i=0;i<10;i++) //将遍历数组指针,依次赋值
{
(*pf)[i]=i;
}
for(i=0;i<10;i++)
{
printf("%f\n",fArray[i]); //通过fArray数组输出上一步遍历由指针数组遍历的值
}
}
结果输出为:
0.000000
1.000000
2.000000
3.000000
4.000000
5.000000
6.000000
7.000000
8.000000
9.000000
二:指针数组的应用:
//关键字查找
#include<stdio.h>
#include<string.h>
#define DIM(a) (sizeof(a)/sizeof(*a))
//key为传入的字符串地址,table[]为传入的数组地址,size为传入的数组大小元素的个数
int lookup_keyword(const char* key,const char* table[ ],const int size)
{
int ret=-1;
int i=0;
for(i=0;i<size;i++)
{
if(strcmp(key,table[i]==0))
{
ret=i;
break;
}
}
return ret;
}
int main()
{
//定义指针数组并初始化
const char* keyword[]={
"do",
"for",
" if ",
"register",
"return",
"switch",
"while",
"case",
"static"
};
printf("%d\n",lookup_keyword("return",keyword,DIM(keyword)));
printf("%d\n",lookup_keyword("return",keyword,DIM(keyword)));
}
结果输出为4,-1