按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
括号。
例如:
int (*p)'3';
表示一个指向二维数组的指针变量。该二维数组的列数为 3 或分解为一维数组的长度为
3。
int *p'3'
表示 p 是一个指针数组,有三个下标变量 p'0',p'1',p'2'均为指针变量。
指针数组也常用来表示一组字符串,这时指针数组的每个元素被赋予一个字符串的首地
址。指向字符串的指针数组的初始化更为简单。例如在例 10。32 中即采用指针数组来表示一
组字符串。其初始化赋值为:
char *name''={〃Illagal day〃;
〃Monday〃;
〃Tuesday〃;
〃Wednesday〃;
〃Thursday〃;
〃Friday〃;
〃Saturday〃;
〃Sunday〃};
完 成 这 个 初 始 化 赋 值 之 后 , name'0' 即 指 向 字 符 串 〃Illegal day〃 , name'1' 指 向
〃Monday〃。。。。。。。
指针数组也可以用作函数参数。
谭浩强 C 语言程序设计 2001 年 5 月 1 日
【例 10。34】指针数组作指针型函数的参数。在本例主函数中,定义了一个指针数组 name,
并对 name 作了初始化赋值。其每个元素都指向一个字符串。然后又以 name 作为实参调用
指针型函数 day_name,在调用时把数组名 name 赋予形参变量 name,输入的整数 i 作为第二
个实参赋予形参 n。在 day_ name 函数中定义了两个指针变量 pp1 和 pp2,pp1 被赋予 name'0'
的值(即*name),pp2 被赋予 name'n'的值即*(name+ n)。由条件表达式决定返回 pp1 或 pp2
指针给主函数中的指针变量 ps。最后输出 i 和 ps 的值。
main(){
static char *name''={ 〃Illegal day〃;
〃Monday〃;
〃Tuesday〃;
〃Wednesday〃;
〃Thursday〃;
〃Friday〃;
〃Saturday〃;
〃Sunday〃};
char *ps;
int i;
char *day_name(char *name'';int n);
printf(〃input Day No:n〃);
scanf(〃%d〃;&i);
if(i