C语言中的指针与位操作深入解析
函数指针
函数指针是C语言中一个较为高级的概念。在使用函数指针时,C编译器不仅要知道指针变量指向一个函数,还需要了解该函数返回值的类型以及参数的数量和类型。
下面是一个示例代码,用于计算字符串的长度:
while ( *cptr )
++cptr;
return cptr - string;
}
int main (void)
{
int stringLength (const char *string);
printf ("%i ", stringLength ("stringLength test"));
printf ("%i ", stringLength (""));
printf ("%i\n", stringLength ("complete"));
return 0;
}
这段代码的输出结果为:
17 0 8
若要声明一个变量 fnPtr 为“指向返回 int 类型且无参数的函数的指针”,可以这样写:
int (*fnPtr) (void);
这里 *fnPtr 周围的括号是必需的,因为函数调用运算符 () 的优先级高于指针间接运算符 * ,若没有括号,C
超级会员免费看
订阅专栏 解锁全文
2217

被折叠的 条评论
为什么被折叠?



