C语言设计-第31章
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
#include〃string。h〃
main(){
void sort(char *name'';int n);
void print(char *name'';int n);
static char *name''={ 〃CHINA〃;〃AMERICA〃;〃AUSTRALIA〃;
〃FRANCE〃;〃GERMAN〃};
int n=5;
sort(name;n);
print(name;n);
}
void sort(char *name'';int n){
char *pt;
int i;j;k;
for(i=0;ia:e24 BASIC foxpro FORTRAN
则运行结果为:
BASIC
foxpro
FORTRAN
该行共有 4 个参数,执行 main 时,argc 的初值即为 4。argv 的 4 个元素分为 4 个字符
串的首地址。执行 while 语句,每循环一次 argv 值减 1,当 argv 等于 1 时停止循环,共循
环三次,因此共可输出三个参数。在 printf 函数中,由于打印项*++argv 是先加 1 再打印,
故第一次打印的是 argv'1'所指的字符串 BASIC。第二、三次循环分别打印后二个字符串。
而参数 e24 是文件名,不必输出。
10。8 有关指针的数据类型和指针运算的小结
10。8。1 有关指针的数据类型的小结
定义
int i;
int *p
int a'n';
int *p'n';
int (*p)'n';
int f();
int *p();
int (*p)();
int **p;
含 义
定义整型变量 i
p 为指向整型数据的指针变量
定义整型数组 a,它有 n 个元素
定义指针数组 p,它由 n 个指向整型数据的指针元素组成
p 为指向含 n 个元素的一维数组的指针变量
f 为带回整型函数值的函数
p 为带回一个指针的函数,该指针指向整型数据
p 为指向函数的指针,该函数返回一个整型值
P 是一个指针变量,它指向一个指向整型数据的指针变量
10。8。2 指针运算的小结
现把全部指针运算列出如下:
1) 指针变量加(减)一个整数:
谭浩强 C 语言程序设计 2001 年 5 月 1 日
例如:p++、p……、p+i、p…i、p+=i、p…=i
一个指针变量加(减)一个整数并不是简单地将原值加(减)一个整数,而是将该指针
变量的原值(是一个地址)和它指向的变量所占用的内存单元字节数加(减)。
2) 指针变量赋值:将一个变量的地址赋给一个指针变量。
p=&a; (将变量 a 的地址赋给 p)
p=array; (将数组 array 的首地址赋给 p)
p=&array'i'; (将数组 array 第 i 个元素的地址赋给 p)
p=max; (max 为已定义的函数,将 max 的入口地址赋给 p)
p1=p2; (p1 和 p2 都是指针变量,将 p2 的值赋给 p1)
注意:不能如下:
p=1000;
3) 指针变量可以有空值,即该指针变量不指向任何变量:
p=NULL;
4) 两个指针变量可以相减:如果两个指针变量指向同一个数组的元素,则两个指针变量值
之差是两个指针之间的元素个数。
5) 两个指针变量比较:如果两个指针变量指向同一个数组的元素,则两个指针变量可以进
行比较。