运算符和指针运算符的地址

时间:2014-02-20 18:10:27

标签: c++ pointers addressof

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

功能声明:

void fun(int* p);

功能定义1:

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

功能定义1:

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

2 个答案:

答案 0 :(得分:2)

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

  

功能定义1:

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

你也可能意味着:

    (*p) += 1;

答案 1 :(得分:1)

通过指针传递int

void fun (int* p) ;

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

通过reference传递int

void fun (int& p) ;

void fun (int& p)
{
    p += 1 ; // Add 1 to p.
}