和其他的指针变量一样,一个指向指针的指针在它使用之前必须进行初始化。为了取得目标对象,必须对指针的指针执行双重的间接访问操作。可以创建指向函数和数组的指针,还可以创建包含这类指针的数组。
C语言中,声明是以推理的形式进行分析的。
可以使用函数指针来实现回调函数。一个指向回调函数的指针作为参数传递给另一个函数,后者使用这个指针调用回调函数。
转移表由一个函数指针数组组成(这些函数必须具有相同的原型)。函数通过下标选择某个指针,再通过指针调用对应的函数。
C程序的main具有两个形参。第1个通常称为argc,它表示命令行参数的数目。第2个通常称为argv,它指向一组参数值。由于参数的数目并没有内在的限制,所以argv指向这组参数值(从本质上说是一个数组)的第一个元素。这些元素的每个都是指向一个参数文本的指针。最后以一个NULL指针作为结束标志。其中第一个参数就是程序的名字。
注:实际上,有些OS向main函数传递第3个参数,它是一个指向环境变量列表以及它们的值的指针。具体要查看对应编译器或OS文档。