C语言必知-指针数组(附程序样例和详解)
指针数组
除了类型之外,指针变量和其他的变量很相似,只不过加上指针标识就行
例如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语言必知-指针数组(附程序样例和详解)相关推荐
- 单片机 c语言 pwm输出,单片机中PWM程序工作原理图文详解
描述 #include//程序是基于KEIL-C51编写,引入8051头文件sbit P10=P1^0; sbit P11=P1^1;unsigned int scale; //占空比控制变量vo ...
- 背口诀14天精通c语言pdf下载,C语言必背18个经典程序
C语言必背18个经典程序 1./*输出9*9口诀.共9行9列,i控制行,j控制列.*/ #include "stdio.h" main() {int i,j,result; for ...
- C语言必知的几个概念
该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/104995566 C ...
- 已知一个掺杂了多个数字字符的中文名拼音,去掉所有数字字符之后,形式为“名”+空格+“姓”;并且名和姓的首字母大写,其他小写,要求输出姓名全拼,且全为小写。(后附详细样例说明)
已知一个掺杂了多个数字字符的中文名拼音,去掉所有数字字符之后,形式为"名"+空格+"姓":并且名和姓的首字母大写,其他小写,要求输出姓名全拼,且全为小写.(后附 ...
- 程序阅读_全面详解LTE_MATLAB建模仿真与实现_自学笔记(2)OFDM_程序阅读
程序阅读_全面详解LTE:MATLAB建模仿真与实现_自学笔记(2)OFDM_程序阅读 本章详细阅读 LTE 标准中的 OFDM 帧结构和实现,讨论 OFDM信号的时-频映射和多种适应信道带宽的资源元 ...
- java的数组与Arrays类源码详解
java的数组与Arrays类源码详解 java.util.Arrays 类是 JDK 提供的一个工具类,用来处理数组的各种方法,而且每个方法基本上都是静态方法,能直接通过类名Arrays调用. 类的 ...
- 2017c语言 形成性考核,(2017年电大)c语言程序设计课程形成性考核任务样例.doc...
(2017年电大)c语言程序设计课程形成性考核任务样例 中央电大C语言程序设计 (2011年12月) 第一次形考任务样例: 一.."表示: 3.在上述项目内建立一个具有如下内容的.名称为&q ...
- 2017c语言 形成性考核,[2017年电大]c语言程序设计课程形成性考核任务样例.doc
[2017年电大]c语言程序设计课程形成性考核任务样例 中央电大C语言程序设计 (2011年12月) 第一次形考任务样例: 一.."表示: 3.在上述项目内建立一个具有如下内容的.名称为&q ...
- 百度提前批-百度智能小程序(面经详解)
文章目录 百度提前批-百度智能小程序(面经详解) 1.定位 2.z-index .层叠 3.作用域(scope) 4.单例模式 5.原型链 6.继承(借用构造函数,寄生组合继承,缺点是什么) 7.闭包 ...
最新文章
- flex的mxmlc命令行编译as3文件成swf
- 【Clique Problem】
- SpringBoot+MyBatisPlus+Echarts实现查询并显示平均时长占比饼状图
- 分析型数据仓库中读写分离的实现
- POJ 2395 Out of Hay
- 论文浅尝 | 基于微量资源的神经网络跨语言命名实体识别
- 海量结构化数据存储技术揭秘:Tablestore存储和索引引擎详解
- 昇腾AI处理器软件栈--运行管理器(Runtime)
- 蓝桥杯---简单的计算器
- LeetCode_database刷题记录(620. 有趣的电影)
- input html5 新特性,html5 input 新特性
- div中定义局部变量_中高级前端必须要了解的--JS中的内存管理
- WPF整理-使用ResourceDictionary管理Logical Resources
- 【NodeJS】20 koa 企业级Cms内容管理系统-XMind功能分析、ERStudio设计数据库ER图
- 【Virtual Box 错误】0x00000000 指令引用的 0x00000000 内存。该内存不能为written
- Modbus通信协议格式以及功能码
- SQLServer 自定义函数 日期计算月初/月末/年初/年末/季初/季末
- 基于Python+SQLSERVER的快递业务管理系统的设计与实现
- 最近发现的一个学习宝库
- NYOJ1238 最小换乘
热门文章
- linux nohup不生成日志,nohup不输出日志信息的方法,及linux重定向学习
- XYC2016上半年工作笔记整理
- 斜挎包长度到哪里合适_斜挎包怎么背好看 注意这些法则
- K8S之PV的二次复用
- delphi html 乱码,关于网页乱码解决 送给我一样的新手
- web自动化测试全流程
- 【矩阵论笔记】矩阵特征矩阵的行列式因子、不变因子、初等因子
- MiniGPT-4:看图聊天、教学、创作、搭网站......还开源了
- Tuxedo安装部署升级补丁
- 压力测试 ad linux,linux 下ab压力测试