C | C++ | |
& | 取地址 | 取地址 |
位運算 | 位運算 | |
兩個&表示與 | 兩個&表示與 | |
- | 引用 |
1.C++比C多了一種新特性,即引用;如下語句,C語言中會報錯,C++中不會,因爲C++中這裏表示引用:
void fun2(int &p)
C語言中彙報錯是因爲&p不管是那種用法都不能作爲左值;
2.C語言中按指針傳遞參數的例子如下:
#include<stdio.h>
void fun1(int *p)
{
*p = 2;
printf("p is %d\n", *p);
}
int main()
{
int a = 1;
int *ptr = &a;
printf("ptr is %d\n", *ptr);
fun1(&a);//fun1(ptr);運行結果也是一樣的
printf("ptr is %d\n", *ptr);
getchar();
return 0;
}
運行結果如下:
3.C++中&作爲引用的例子如下:
#include<stdio.h>
void fun2(int &p)
{
p = 2;
printf("p is %d\n", p);
}
int main()
{
int a = 1;
int *ptr = &a;
printf("ptr is %d\n", *ptr);
fun2(*ptr);
printf("ptr is %d\n", *ptr);
getchar();
return 0;
}
運行結果和上面的一樣,按運用傳遞參數,傳遞的是變量本身,不是變量的拷貝。