指针数组做函数参数的退化
来源:互联网 发布:p2p下载软件哪个好 编辑:程序博客网 时间:2024/05/21 16:20
#include "stdio.h"#include "string.h"#include "stdlib.h"#include <stdio.h>#include <string.h>//演示:指针数组的用法//演示:找错误 注意return//求关键字在表中的位置//一个入口 多个出口int searcheKeyTable(const char* table[], const int size, const char* key, int *pos){int rv = 0;int i = 0;int inum = 0;if (table==NULL || key==NULL || pos==NULL){rv = -1;printf("func searcheKeyTable:%d", rv);return rv;}//间接的证明 数组做函数参数的退回 inum = (sizeof(table)/sizeof(*table));//inum = 1for(i=0; i<size; i++){if( strcmp(key, table[i]) == 0 ){*pos = i;//break;return rv;}}//没有找到返回-1if (i == size){*pos = -1;}return rv;}#define DIM(a) (sizeof(a)/sizeof(*a))int main411(){int inum = 0;int pos = 0;int a[10];int i = 0;//指针数组char* c_keyword[] = {"while", "case","static","do"};searcheKeyTable( c_keyword, DIM(c_keyword),"do", &pos);// ===> 带参数的宏//searcheKeyTable( c_keyword, (sizeof(c_keyword)/sizeof(*c_keyword)),"do", &pos);//searcheKeyTable( c_keyword, inum,"do", &pos);printf("pos:%d\n", pos);//searcheKeyTable(NULL, DIM(c_keyword),"do", &pos);//printf("pos:%d\n", pos);searcheKeyTable( c_keyword, DIM(c_keyword), "static", &pos);printf("pos:%d\n", pos);system("pause");return ;}//main函数是操作系统调用的函数//在程序执行的时候可以向main函数传递参数/*argc 命令行参数argv 命令行参数数组env 函数变量数组int main();int main(int argc);int main(int argc, char *argv[])*/int main477(int argc, char* argv[], char**env){int i = 0;//main02_1();printf("******************* Begin argv *******************\n");for(i=0; i<argc; i++){printf("%s\n", argv[i]);}// for(i=0; argv[i]!=NULL; i++)// {// printf("%s\n", argv[i]);// }printf("******************* End argv *******************\n");printf("\n");printf("\n");printf("\n");printf("******************* Begin env *******************\n");for(i=0; env[i]!=NULL; i++) //{printf("%s\n", env[i]);}printf("******************* End env*******************\n");getchar();}void main(){int inum = 0;int pos = 0;int a[10];int i = 0;//指针数组 自我结束能力char* c_keyword[] = {"while", "case","static","do",'\0'}; char* c_keyword2[] = {"while", "case","static","do",0}; char* c_keyword3[] = {"while", "case","static","do",NULL}; for (i=0; c_keyword[i] != NULL; i++){printf("%s\n", c_keyword[i]);}printf("\n....\n");for (i=0; c_keyword2[i] != NULL; i++){printf("%s\n", c_keyword2[i]);}printf("\n....\n");for (i=0; c_keyword3[i] != NULL; i++){printf("%s\n", c_keyword3[i]);}system("pause");}int main45(){int inum = 0;int pos = 0;int a[10];int i = 0;//指针数组char* c_keyword[] = {"while", "case","static","do",'\0'};// NULL 0 '\0'for(i=0; c_keyword[i]!=NULL; i++){printf("%s\n", c_keyword[i]);}system("pause");}
0 0
- 指针数组做函数参数的退化
- 数组做函数参数退化为指针
- 数组做函数参数的退化问题
- 多维数组做函数参数的退化
- 数组做参数退化为指针
- 数组做函数参数的退化问题研究
- 数组做函数参数退化问题剖析
- C语言之数组专题:数组指针、指针数组、数组做函数参数退化、数组名、数组类型
- C语言之数组专题:数组指针、指针数组、数组做函数参数退化、数组名、数组类型
- 数组排序及数组做函数参数将会退化为指针
- 排序热身及数组做函数参数退化为指针引申
- C/CPP点滴积累—数组做函数参数退化为指针
- 数组名作为函数参数时会退化为指针
- 数组名作为函数参数时,退化为指针
- 以数组作为函数参数退化为指针
- 多维数组的指针做函数参数
- 当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针!
- 指针数组做函数参数
- android中activity传对象对应该注意的地方
- JAVA注释方法及格式
- 正则表达式相关:收录常用的正则表达式
- NSDocumentDirectory NSDocumentationDirectory 的区别
- 多线程之售票
- 指针数组做函数参数的退化
- HBase简介(很好的梳理资料)
- POJ 1721 - CARDS【置换群】
- [leetcode-74]Search a 2D Matrix(c)
- Hadoop集群(第9期)_MapReduce初级案例
- 判断app是在前台还是后台
- go项目make
- eclipse+ EPIC + PadWalker 搭建Windows Perl开发环境
- C#高级编程七十一天----DLR ScriptRuntime