指標和變數

時間 2023-03-21 23:00:11

1樓:

寫在函式定義裡的引數叫形參。

寫在函式呼叫裡的引數叫實參。實參能把實參當時的數值傳到函式計算定義塊裡。但不一定能把函式塊裡的資料加工結果帶回來。

函式運算結果要帶**用函式的地方,有幾種辦法:

(1)全域性量。

(2)函式返回值。

(3)通過實參帶回。

想用實參帶回,c語言規定,凡要通過實參帶回的量,它對應的形參必須宣告為指標。不然,不能帶回。

例如,交換兩個數,要帶回交換結果:

函式定義:void jiaohuan(int *a, int *b)

函式呼叫:int x=3,y=4;

int z[2]=;

(void) jiaohuan(&x, &y);

這種呼叫改變了實參的值。

指標函式是第2種方式。它是說,函式送返指標型的結果。函式運算結果並送返的是指標。

例如系統庫函式 strcat 就是。

char * strcat( char * destination, const char * source );

呼叫:printf("%s",strcat("abcd","xyz"))

打出 abcdxyz

這是單向傳遞 --從函式傳出來。

2樓:匿名使用者

先說形參,實參吧!我舉簡單的例子吧比如定義一個函式。

int fabc(int a,int b)呼叫它就是ad=fabc(1,2)

它能接受兩個數值,a,b就是負責複製資料一樣,把呼叫時的1,2代到函式中,a,b就是這就是形參,它沒實際意義,只是個代替而已,呼叫時的1,2就是實參這是相對的。

指標一句話來說就是儲存記憶體地址的變數。它指向的是儲存在記憶體的地址的值。

要反回多個數就在定議函式的時候用指標,比如上面的函式變為int fabc(int *a,int *b)這樣,呼叫的時候(我這裡的呼叫可能錯了,好像是要a,b也是指標,還是要加兩個地址操作符變成&a,&b了,這個不好意思)用上兩個變數就行fabc(a,b)其中a,b是會改變的。

手機打字累,就這麼多吧。

3樓:笨瓜

實參是在呼叫函式時代的值或變數。

形參是函式原形中定義的變數。

改變值的話用地址傳遞就可以了。

把實參的地址傳遞到形參。再改變就行了。屬於指標知識,記憶體地址的操作。

c語言中「指標」和「指標變數」的區別是什麼??

4樓:信必鑫服務平臺

1、概念不同。

「指標」是概念,「指標變數」是具體實現,指標也是一個變數,所以需要進行定義,而對於指標的定義,與一般變數一樣。

2、 存放地址不同。

一個變數的(記憶體)地址稱為該變數的「指標」,通過指標能找到以它為地址的記憶體單元。而指標變數是用來存放另一個變數的地址的(即指標)。

指標和指標變數的關係。

1、指標就是地址,地址就是指標。

2、地址就是記憶體單元的編號。

3、指標變數就是存放記憶體地址的變數。

4、指標和指標變數是兩個不同的概念,但要注意的是,通常我們敘述時會把指標變數簡稱為指標,實際他們含義並不一樣。

指標的好處:

1、直接訪問硬體。

2、快速傳遞資料(指標表示地址)

3、返回一個以上的值返回一個(陣列或者結構體的指標)

4、表示複雜的資料結構(結構體)

5、方便處理字串。

6、指標有助於理解物件導向。

vc 指標變數賦值問題,指標變數賦值方式

雖然b是正確答案,但是對cd的理解不對。a,p是對地址為p的記憶體賦值,因為p還未賦值,這種行為是危險的b,陣列的首址可理解為一個常量指標 即指向的地址不能改變的針 雖然指標不能被修改,但是其指向的地址的內容是可以改的。c。a是常量,其地址不能被修改 d。錯誤在於對引用a的初始化,應該使用相同型別 ...

指標變數指向的變數的值變了,指標變數會不會變

a還是指向p1,b還是指向p2啊 只不過p1和p2的值互轉了 你說的情況可以這樣寫 int t a a b b t 這樣的話a指向p2,b指向p1,但是p1和p2的值還是原先的值不過不建議這樣寫 a和 b的值互換,也就是p1和p2的值互換,注意是 值 的互換,不是變數名 不會變指標變數中存的是地址,...

typedef結構體指標變數再去定義變數什麼意思

driverextension是一個你自己命名的結構體的名字 看起來是驅動拓展?結構體裡的結構是自己定義的,不過這個結構體貌似是引用了另一個結構體。你說的pdriver extension driverextension就是這樣定義結構體的,沒有問題 typedef是自定義型別,相當於,用pdriv...