C语言笔记第七章指针和函数的关系
第7章指针和函数的关系
您可以将指针声明为指向函数的指针。
int fun1(char*,int);
int (*pfun1)(char*,int);
pfun 1 = fun 1;
....
....
int a=(*pfun1)("abcdefg ",7);//通过函数指针调用函数。
您可以将指针用作函数的参数。在函数调用语句中,可以使用指针表达式作为
参数。
例13:
int fun(char *);
int a;
char str[]= " abcdefghijklmn ";
a = fun(str);
...
...
int fun(char * s)
{
int num = 0;
for(int I = 0;I {
num+= * s;s++;
}
返回编号;
}
本例中的fun函数计算字符串中每个字符的ASCII码值之和。正如前面提到的
,数组的名称也是一个指针。在函数调用中,当str作为实参
传递给参数S时,str的值实际上传递给了S,S指向的地址与str指向的地址相同,但
str和S各自占用了自己的内存空。在函数体中自加1到s,并不意味着与
同时自加1到str。
0条评论