1.返回指针的函数称为指针函数
2.指针函数的定义 一般形式为: 类型说明符 *函数名(形参表){ /*函数体*/ } 例如: - //返回两个数中最大数的地址
- int *sum(int a, int b){
- return a > b ? &a : &b;
- }
-
- int *sum2(int *a, int *b){
- return *a > *b ? a : b;
- }
-
- int main(int argc, const char * argv[])
- {
-
- int a = 10,b = 9;
- //传值给函数
- printf("Address of a = %p\n", &a);
- printf("Address of b = %p\n", &b);
- printf("传值给函数Address of the biger = %p\n", sum(a, b));
- //传地址给函数
- printf("传地址给函数Address of the biger = %p\n", sum2(&a, &b));
- return 0;
- }
复制代码
打印结果: Addressof a = 0x7fff5fbff90c Addressof b = 0x7fff5fbff908 传值给函数Address ofthe biger = 0x7fff5fbff8dc 传地址给函数Address ofthe biger = 0x7fff5fbff90c
分析:由打印结果可知实参和形参完全是两码事,在内存中占用的地址都不一样。
|