2016年10月11日 星期二

C/C++ call by value, call by address, call by reference

標頭都加上
#include <iostream>
using namespace std;
然後使用dev c++

==============================================

int main()
{
  int i=1;
  cout<< i <<endl;  // print 1
}

==============================================

int main()
{
  int i=1;
  cout<< &i <<endl; // print i address
}

==============================================

int main()
{
  int i=1;
  int &j=i;  //讓j的位址指向i的位址(兩個位址會一樣)
  cout<< j << endl; //print j values (That is i values)
  cout<< &j << endl;  // print j address (That is i address)
}

==============================================

int main()
{
  int i=1;
  int *k=&i; //讓k的變數參照i的位址(兩個位址會不一樣)
  cout << k << endl;  // print k values => i address (所以k變數數值列印出來是i的位址
  cout << &k << endl; // print k address (是指k的位址不關變數i的事情)
  cout << *k << endl; // print i address pointer values (指的是k指標變數所參照i位址的數值)
}

=============================================


沒有留言:

張貼留言