&引用上的騷操作
1,&與運算
2,取地址
3,引用
引用相當於給變數起個小名
#include<iostream>
using namespace std;
void change_num1(int &n);
void change_num2(int *&p);/*說白了引用&就是別名(你的小名,指的是同一個你),
如果程式對引用做出改動,其實就是對目標的改動。 */
void change_num3(int *n);
int main()
{
int *p = NULL;
cout << p << endl;
change_num2(p);
cout << p << endl;
free(p);
cout << "hello world!!"<<endl;
int n = 6;
change_num1(n);
cout << n << endl;
n = 6;
change_num3(&n);
cout << n << endl;
system("pause");
return 0;
}
void change_num1(int &n)
{
n =5;
}
void change_num2(int *&p)
{
p = (int *)malloc(sizeof(int));
}
void change_num3(int *n)
{
*n =5;
}
void InitList(LinkList *&L) *號表示指標,&表示引用,加了一個&符號意味著函式listinit改變引數l會改變傳入的實參,不影響傳入資料的型別。
不管什麼變數你只要把呼叫他的函式的變數名前加個&就可以使這個函式呼叫時能夠改變這個變數的值,相當於直接在函式裡對這個變數進行改變,先當於指標,而你呼叫這個函式時,只要正常傳入變數就可以了例如上面這個函式LinkList *p;InitList§;
所以對連結串列的一些操作比如遍歷、插入、刪除、如果函式的變數是引用型別的,那麼就不能對頭指標進行賦值,否則會main函式裡對應的頭指標裡存的地址就會被改變。變數就會丟失。所以要用一個別變數存頭指標的值,用來遍歷。
void DispListN(LinkList *L,int n)
{
int i = 1;
LinkList *p = L->next;
while(p && i!=n)
{
p = p->next;
i++;
}
if(!p || i >n)
printf("NULL\n");
else printf("The %dth is %c\n",n,p->data);
}//輸出第n個結點值。 n為結點的邏輯序號。如果n不在連結串列長度範圍,則輸出結點值用NULL表示。
bool ListInsert(LinkList *&L,int i,ElemType e)
{
LinkList *p = L,*s = NULL;
int j = 0;
while(p && (j<i-1))
{
p =p->next;
j++;
}
if(!p ||( j > i-1))
return false;
s = (LinkList*)malloc(sizeof(LinkList));
s->data = e;
s->next = p->next;
p->next = s;
return true;
}
相關文章
- 每日 30 秒 ⏱ 函式引數騷操作函式
- make:migration 的騷操作
- opacity騷操作
- mysql騷操作MySql
- Fragment跳轉的騷操作Fragment
- markdown的騷氣操作(一)
- 聊聊那些年的騷操作!!!
- 【原始碼】“@Value 注入不成功”引發的一系列騷操作原始碼
- Python - 解包的各種騷操作Python
- JavaScript騷操作之操作符JavaScript
- Java中內部類的騷操作Java
- Android 截圖的各種騷操作Android
- [譯] GitHub 上的 12 個騷操作Github
- 使用解構的幾個騷操作
- JS中Function.apply() 的騷操作JSFunctionAPP
- Python裡的17個“騷操作”好玩有趣Python
- 《關於MySQL的一些騷操作》MySql
- JetCache埋點的騷操作,不服不行啊
- Python 資料庫騷操作 — RedisPython資料庫Redis
- Python 資料庫騷操作 -- RedisPython資料庫Redis
- Python 資料庫騷操作 -- MongoDBPython資料庫MongoDB
- Python資料庫MongoDB騷操作Python資料庫MongoDB
- 騷操作!在react中使用vuexReactVue
- 騷操作5天引流10000人
- 閃電俠 Netty 小冊裡的騷操作Netty
- 通過HTTP的HEADER完成各種騷操作HTTPHeader
- OkHttp 攔截器的一些騷操作HTTP
- Python 4 種不同的存取檔案騷操作Python
- Java 8 中 Map 騷操作之 merge() 的用法Java
- Laravel ORM 中你不知道的騷操作LaravelORM
- Python中的三個”黑魔法“與”騷操作“Python
- js騷操作罵人不帶髒JS
- 這些Python騷操作,你知道嗎?Python
- React騷操作——jsx遇到template-directiveReactJS
- Mybatis騷操作-通用查詢工具類MyBatis
- 別進來看!Composer騷操作2.0
- Linux Bash 提示符的一些騷操作Linux
- Activity跳轉時傳遞資料的騷操作