指针数组

除了类型之外,指针变量和其他的变量很相似,只不过加上指针标识就行

例如int *api[10],由于下标引用的优先级高于间接访问(就是解引用),因此

api是一个数组,数组中的元素的类型就是 指向整形的指针

那么api就是指针数组

一定要明白数组名的值是指向数组第一个元素的指针

样例:计算c源程序中关键字的个数,并返回关键字在keyword中的索引,如果返回的是into 关键字就是do,返回的是1,关键字就是for

//首先初始化指针数组,不是二维char型数组
char const keyword[] = {"do","for","if","register","return","switch","while"
};

我们创建的形式是如同上面的图片所示的指针数组,而不是二维的char数组,指针数组中元素的类型就是指向char的 指针

那么数组名keyword的类型就是 char ** (指向指针的指针),一定要记住 数组名的值是指向数组第一个元素的指针

因此我们用一个char ** 的值从头开始遍历数组,每次遍历之后判断是否与关键字匹配


函数查找索引如下:

int N_KEYWORD (sizeof (keyword) / sizeof(keyword[0]))
//数组中的元素个数
int lookup_keyword(char const *const desired_word, char const *keyword_table[],int const size)
{//desired_word就是参数,判断是否与关键字相同char const **kwd;          //用来遍历指针数组,与keyword_table是同类型for (kwd = keyword_table; kwd < keyword_table + size; kwd++){//例如本循环到达"switch"了,那么*kwp就是指向's'的指针if (strcmp (desired_word, *kwp) == 0){return kwp - keyword_table;}}return -1;
}

C语言必知-指针数组(附程序样例和详解)相关推荐

  1. 单片机 c语言 pwm输出,单片机中PWM程序工作原理图文详解

    描述 #include//程序是基于KEIL-C51编写,引入8051头文件sbit P10=P1^0; sbit P11=P1^1;unsigned int scale;   //占空比控制变量vo ...

  2. 背口诀14天精通c语言pdf下载,C语言必背18个经典程序

    C语言必背18个经典程序 1./*输出9*9口诀.共9行9列,i控制行,j控制列.*/ #include "stdio.h" main() {int i,j,result; for ...

  3. C语言必知的几个概念

    该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/104995566 C ...

  4. 已知一个掺杂了多个数字字符的中文名拼音,去掉所有数字字符之后,形式为“名”+空格+“姓”;并且名和姓的首字母大写,其他小写,要求输出姓名全拼,且全为小写。(后附详细样例说明)

    已知一个掺杂了多个数字字符的中文名拼音,去掉所有数字字符之后,形式为"名"+空格+"姓":并且名和姓的首字母大写,其他小写,要求输出姓名全拼,且全为小写.(后附 ...

  5. 程序阅读_全面详解LTE_MATLAB建模仿真与实现_自学笔记(2)OFDM_程序阅读

    程序阅读_全面详解LTE:MATLAB建模仿真与实现_自学笔记(2)OFDM_程序阅读 本章详细阅读 LTE 标准中的 OFDM 帧结构和实现,讨论 OFDM信号的时-频映射和多种适应信道带宽的资源元 ...

  6. java的数组与Arrays类源码详解

    java的数组与Arrays类源码详解 java.util.Arrays 类是 JDK 提供的一个工具类,用来处理数组的各种方法,而且每个方法基本上都是静态方法,能直接通过类名Arrays调用. 类的 ...

  7. 2017c语言 形成性考核,(2017年电大)c语言程序设计课程形成性考核任务样例.doc...

    (2017年电大)c语言程序设计课程形成性考核任务样例 中央电大C语言程序设计 (2011年12月) 第一次形考任务样例: 一.."表示: 3.在上述项目内建立一个具有如下内容的.名称为&q ...

  8. 2017c语言 形成性考核,[2017年电大]c语言程序设计课程形成性考核任务样例.doc

    [2017年电大]c语言程序设计课程形成性考核任务样例 中央电大C语言程序设计 (2011年12月) 第一次形考任务样例: 一.."表示: 3.在上述项目内建立一个具有如下内容的.名称为&q ...

  9. 百度提前批-百度智能小程序(面经详解)

    文章目录 百度提前批-百度智能小程序(面经详解) 1.定位 2.z-index .层叠 3.作用域(scope) 4.单例模式 5.原型链 6.继承(借用构造函数,寄生组合继承,缺点是什么) 7.闭包 ...

最新文章

  1. flex的mxmlc命令行编译as3文件成swf
  2. 【Clique Problem】
  3. SpringBoot+MyBatisPlus+Echarts实现查询并显示平均时长占比饼状图
  4. 分析型数据仓库中读写分离的实现
  5. POJ 2395 Out of Hay
  6. 论文浅尝 | 基于微量资源的神经网络跨语言命名实体识别
  7. 海量结构化数据存储技术揭秘:Tablestore存储和索引引擎详解
  8. 昇腾AI处理器软件栈--运行管理器(Runtime)
  9. 蓝桥杯---简单的计算器
  10. LeetCode_database刷题记录(620. 有趣的电影)
  11. input html5 新特性,html5 input 新特性
  12. div中定义局部变量_中高级前端必须要了解的--JS中的内存管理
  13. WPF整理-使用ResourceDictionary管理Logical Resources
  14. 【NodeJS】20 koa 企业级Cms内容管理系统-XMind功能分析、ERStudio设计数据库ER图
  15. 【Virtual Box 错误】0x00000000 指令引用的 0x00000000 内存。该内存不能为written
  16. Modbus通信协议格式以及功能码
  17. SQLServer 自定义函数 日期计算月初/月末/年初/年末/季初/季末
  18. 基于Python+SQLSERVER的快递业务管理系统的设计与实现
  19. 最近发现的一个学习宝库
  20. NYOJ1238 最小换乘

热门文章

  1. linux nohup不生成日志,nohup不输出日志信息的方法,及linux重定向学习
  2. XYC2016上半年工作笔记整理
  3. 斜挎包长度到哪里合适_斜挎包怎么背好看 注意这些法则
  4. K8S之PV的二次复用
  5. delphi html 乱码,关于网页乱码解决 送给我一样的新手
  6. web自动化测试全流程
  7. 【矩阵论笔记】矩阵特征矩阵的行列式因子、不变因子、初等因子
  8. MiniGPT-4:看图聊天、教学、创作、搭网站......还开源了
  9. Tuxedo安装部署升级补丁
  10. 压力测试 ad linux,linux 下ab压力测试