C++?指針傳遞的作用小結(jié)
本文主要介紹了C++ 指針傳遞的作用小結(jié),分享給大家,具體如下
void pointerTest(int num) {
num = 20;
}
int main() {
int num = 10;
pointerTest(num);
LOGI("%d", num) // 打印出來的結(jié)果是 10
return 0;
}
在這個(gè)例子中,main 函數(shù)定義了整型 num,值為 10,然后以參數(shù)傳遞給 pointerTest 函數(shù),在 pointerTest 函數(shù)中,直接對(duì)傳進(jìn)來的 num 賦值為 20。最終,打印出來的結(jié)果還是 10。
為啥呢?熟悉 java 的人很快會(huì)反應(yīng)過來,因?yàn)?int 是基本數(shù)據(jù)類型,要用引用數(shù)據(jù)類型。
public static void pointerTest(String str) {
str = "wk";
}
public static void main(String[] args) {
String str = "test";
pointerTest(str);
System.out.println(str); // 打印出來的結(jié)果是 test
}
String 是引用數(shù)據(jù)類型了吧,但是打印出來的結(jié)果仍沒被改變
其實(shí)對(duì)于引用數(shù)據(jù)類型參數(shù)而言,只能對(duì)這個(gè)對(duì)象進(jìn)行相應(yīng)的操作(get/set),并不能直接替換整個(gè)對(duì)象
C/C++ 中得意于指針,能夠修改函數(shù)外的變量值
void pointerTest(int *num) {
*num = 20;
}
int main() {
int num = 10;
pointerTest(&num);
LOGI("%d", num) // 打印出來的結(jié)果是 20
return 0;
}
字符串也是一樣的:(C中的字符串類型為 char*)
void pointerTest(char **str) {
*str = "wk";
}
int main() {
char *str = "test";
pointerTest(&str);
LOGI("%s", str) // 打印出來的結(jié)果是 wk
return 0;
}
在 pointerTest 函數(shù)中,對(duì)傳進(jìn)來的指針進(jìn)行取值(*)對(duì)外部參數(shù)進(jìn)行修改。按照這個(gè)思路反推,那么我們?cè)趥鬟f內(nèi)存地址給函數(shù) 其實(shí)是 提供函數(shù)修改參數(shù)的能力
到此這篇關(guān)于C++ 指針傳遞的作用小結(jié)的文章就介紹到這了,更多相關(guān)C++ 指針傳遞 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語(yǔ)言中對(duì)于循環(huán)結(jié)構(gòu)優(yōu)化的一些入門級(jí)方法簡(jiǎn)介
這篇文章主要介紹了C語(yǔ)言中對(duì)于循環(huán)結(jié)構(gòu)優(yōu)化的一些入門級(jí)方法,包括算法設(shè)計(jì)的改進(jìn)來提高一些并行性等方法,要的朋友可以參考下2015-12-12
C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之二叉樹詳解
二叉樹(Binary tree)是樹形結(jié)構(gòu)的一個(gè)重要類型。許多實(shí)際問題抽象出來的數(shù)據(jù)結(jié)構(gòu)往往是二叉樹形式。本文將通過示例詳細(xì)講解一下二叉樹,需要的可以參考一下2022-03-03
C++實(shí)現(xiàn)二分法求連續(xù)一元函數(shù)根
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)二分法求連續(xù)一元函數(shù)根,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06
C++ 中類(class)和結(jié)構(gòu)體(struct)的區(qū)別
類和結(jié)構(gòu)體經(jīng)常被用來定義復(fù)雜的數(shù)據(jù)結(jié)構(gòu),但兩者之間既有區(qū)別又能很好地結(jié)合使用,本文主要介紹了C++ 中類(class)和結(jié)構(gòu)體(struct)的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下2025-04-04
C語(yǔ)言實(shí)現(xiàn)電子郵件地址驗(yàn)證程序
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)電子郵件地址驗(yàn)證程序,利用的是POSIX正則表達(dá)式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-11-11

