指针数组:装满了指针的数组,开发场景,常用作菜单的查找。
此处应用场景模拟查找菜单,查找数组中的查找某个单词。
#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
//指针数组经常用于菜单查找
int searchKeyTable(const char* table[], const int size, const char* key, int *pos)
{
int ret = 0;
int i = 0;
int inum = 0;
//if parameter is null return
if (table == NULL || key == NULL || pos == NULL)
{
ret = -1;
return ret;
}
for ( i = 0; i < size; i++)
{
if (strcmp(key, table[i]) == 0)
{
*pos = i+1;
return ret;
}
}
if (i = size)
{
*pos = -1;
}
return ret;
}
#define SIZE(a) (sizeof(a) / sizeof(*a))
int main()
{
int inum = 0;
int pos = 0;
int a[10] = { 0 };
int i = 0;
//指针数组,装满了指针的数组,
char * c_keyword[] = {
"while",
"case",
"static",
"do",
0
};
searchKeyTable(c_keyword, SIZE(c_keyword), "do", &pos);
//searchKeyTable(c_keyword, SIZE(c_keyword), 1, &pos);
printf("pos:%d\n", pos);
printf("\nhello...\n");
system("pause");
return 0;
}