來自剛剛進入打卡工作的落後者的部落格 10

2021-08-29 00:16:50 字數 1761 閱讀 4514

好長時間沒往下學習了,要繼續了,刷題真心沒意思呀…

話不多說,撈幹的來!

這裡面講的基本都是對以前忘了的知識進行複習了。

講一下我這幾天複習的指標的用法

1、指標指向變數:

使用指標能夠訪問變數的儲存單元,所以,使用指標能夠改變主調函式的變數的值,例如,下面的**:

#include void f(int *a);

int main ()

void f(int *a)

這裡面有幾點要說明:

1、指標變數需要進行賦值,並且賦的值是乙個變數的位址。

2、這裡面還用指標把i轉換了,因為輸入的是i的位址,所以,在自定義函式中就改變了i的值。指標的作用之一:用指標改變主調函式中的值。

2、指標指向陣列:

例如下面的**:

#include void f(int *a);

int main ()

; int *p;

p=a;

printf ("%d\n",*p);

f(a);

return 0;

} void f(int *a)

在上面的程式裡面,還是有幾點要強調:

1、因為陣列的名就是位址,所以在給指標變數賦值的時候不用取址符

2、與此同時輸入自定義函式的時候也是不需要取址符

3、陣列的名就是陣列的位址,把陣列的位址賦值給指標變數,指標變數代表的就是陣列的第乙個元素。所以**裡面主函式輸出的值就是a=1;

4、當把陣列的名輸入進自定義函式的時候,陣列內所有的元素都進去了,所以陣列內的所有元素在自定義函式內都能正常使用!(這只是我的猜想!)

應用場景一:兩個數值的交換(only乙個例子,還有很多例子呢!)

#include void f(int *x,int *y);

int main ()

void f(int *x,int *y)

1、先開始是輸出10 20 之後引用f()函式,在自定義函式裡面將兩個數值交換 則,輸出的就是20 10了(要是以往,自定義函式和主函式沒有啥太大關係,但是,輸入位址…都懂了吧!)

2、在運算時,用指標的形式進行運算,就相當於變數進行運算。

應用場景二:通過指標返回值(除法運算)

#include int f(int x,int y,float *result);

int main ()

return 0;

} int f(int x,int y,float *result)

else

return isprime;

}

哎呀,這個程式還真不太會,但是總算打出來了,這裡面生動的把指標活用了起來

1、用return返回狀態,當y!=0時證明合理,返回值是1,if(1)就是正確並且可行;當y==0時,證明不合理,if(0)不能執行,直接退出。

2、用指標帶回計算結果,引用函式的時候,順便把result的值也改變了,so,輸出的就是result=(x/y的值)。

這篇文章就是對以前知識的複習,畢竟,溫故而知新,寫了之後也是有所收穫!加油!繼續努力!

來自剛剛進入打卡工作的落後者的部落格 05

關於函式 2 函式這一節,我自己的規劃是寫三篇,反正長了也沒有人願意仔細看,長的看了也煩,就把學過的東西總結一下。先開始來乙個例子,如何在一組資料中找到乙個數是否存在 下面是演示例子 include int main int count 0 intx 0 printf 請輸入你要找的數 scanf ...

來自剛剛進入打卡工作的落後者的部落格 07

注 1 變數名前的 是指標型別的標誌 必須加,因為計算機在識別 指標時需要知道他的大小 2 型別識別符號 指標變數所指向的資料型別 指標變數的使用 取位址運算子,取到變數的位址 兩個運算子的搭配使用 ptr x 引用 val ptr 解引用例子 include int main 執行結果如下 229...

來自剛剛進入打卡工作的落後者的練習題 06

好體力就要持久學,好習慣就要好堅持,繼續打卡!這幾天由於種種原因,突然發現,自己做的題好少。但是,打卡還是必須的,今天的打卡可能混雜各種東西,時間緊迫,望諒解!第一題 把乙個數字用十六進製制 八進位制 二進位制輸出 實話說,剛看見這個題的時候,感覺還行,但是,發現了乙個重要的問題,我不會二進位制輸出...