新聞中心
c語言中指針函數(shù)可以改變實參的值嗎
1、不是改變實參的值,無論如何實參的值都不會被改變的。改變的是參數(shù)指針指向的值。打個比方:傳遞參數(shù)就是你有一個盒子,里面裝了一張紙。
涇川網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站建設等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)。
2、通俗講指針作形參,形參里存儲的是地址的值,這個值與實參的某個變量的地址是一樣的,所以當改變形參所指向的地址里存的數(shù)據(jù),其實改變的就是實參那個變量的值。
3、調(diào)用函數(shù),只能改變指針指向的內(nèi)存空間的內(nèi)容,不能改變實參指針變量的值。我覺得題主對指針變量,還算有一點了解。指針變量,其實也就是一個變量,但它的值是一塊內(nèi)存的地址。
4、會的,因為多個指針可以指向一個地址,形參改變地址中的內(nèi)容,實參也會改變,因為調(diào)用時你將形參的地址指向?qū)崊⒘恕?/p>
5、函數(shù)內(nèi) 做了指針地址的交換: t = m; m = n; n = t; m 和 n 的地址 在函數(shù)內(nèi)變了。但調(diào)用語句 處的地址 不會變化。
求教C語言指針作為實參取不到值的問題
1、使用strcpy唄,反正你用gets讀入的,最后都會有\(zhòng)0吧。void swap(char *a,char *b){ char temp[20]; strcpy(temp, a); strcpy(a, b); strcpy(b, temp);}這樣試試。
2、進入函數(shù)后,函數(shù)創(chuàng)建幾個空間給形參,再把實參數(shù)值拷過來。退出函數(shù)時,把形參空間釋放,則影響不到實參。這就是值傳遞。
3、那你應該用指針的指針才行,然后函數(shù)返回指針。
C語言,字符串指針作實參傳值的問題。
1、使用strcpy唄,反正你用gets讀入的,最后都會有\(zhòng)0吧。void swap(char *a,char *b){ char temp[20]; strcpy(temp, a); strcpy(a, b); strcpy(b, temp);}這樣試試。
2、可以的,還可以直接寫成:A(NULL);調(diào)用程序只是通過參數(shù)向A函數(shù)傳送一個地址,讓A將這個地址賦值給臨時變量a來使用而已,但無論A如何折騰臨時變量a,都不會影響到調(diào)用者,除非這個地址指向調(diào)用者開設的變量。
3、C語言中有兩種傳遞方式,一個是值傳遞,另一個是地址(指針)傳遞。值傳遞就是單向傳遞。
4、沒錯是你的運氣好,這樣的情況下,程序崩潰幾乎是必然的。不要使用這樣的做法。
5、因為在棧的不同位置存儲。我們提出的雙向傳遞是,通過把原來的當做實參變量的地址當做實參傳入函數(shù),在函數(shù)內(nèi)部通過修改指針形參指向的地址來把值傳遞出函數(shù);作為變量地址的實參依然不可能在函數(shù)內(nèi)部被修改。
名稱欄目:c語言指針函數(shù)實參值 c語言指針做函數(shù)參數(shù)
文章網(wǎng)址:http://www.ef60e0e.cn/article/deeppgp.html