-6

以下两个函数定义有什么区别?

函数声明:

void fun(int* p);

功能定义一:

             void fun (int* p){
                       p += 1;
                      }

功能定义一:

                 void fun (*p){
                       p += 1;
                          }
4

2 回答 2

2

只有一个有效的函数定义,即您给出的第一个:

功能定义一:

 void fun (int* p) {
    p += 1;
 }

你也可能是说:

    (*p) += 1;
于 2014-02-20T18:17:37.073 回答
1

传递一个intby 指针:

void fun (int* p) ;

void fun (int* p)
{
    *p += 1 ; // Add 1 to the value pointed by p.
}

int通过引用传递:

void fun (int& p) ;

void fun (int& p)
{
    p += 1 ; // Add 1 to p.
}
于 2014-02-20T18:19:53.750 回答