C語言中的函式與指標

2022-03-30 11:19:49 字數 2168 閱讀 5271

1. 為什麼需要函式?

2.函式優點:

3. 怎麼定義乙個函式

4. 函式呼叫

5. 函式的分類:庫函式和自定義函式

6. 函式引數,

7.在函式中,可以通過return語句結束函式的執行,也可以通過return語句返回乙個值

8.函式的遞迴呼叫,

指標int a, b, c;

scanf(「%d%d%d」, &a, &b, &c);

printf(「a=%d, b=%d, c=%d\n」, a, b, c);

printf(「&a = %p, &b=%p, &c=%p\n」, &a, &b, &c);

0x33332222 是乙個位址

通過變數名訪問該儲存空間

定義變數後,可能是編譯器,也可能是作業系統,會把變數名和位址的對應關係儲存到記憶體分配表中

記憶體的每個位元組單元都有乙個數字編號,稱為位址

佔8個位元組

int * p = &a;

儲存位址的變數稱為指標變數, p就是乙個指標變數,它指向a變數, int * 是資料型別

p = &b;

printf(「%ld, %ld, %ld\n」 , sizeof(p), sizeof(int *) , sizeof(*p));

scanf(「%d」, a);  //error, 需要指定資料型別int *, 而不是int

int *pa = &a;

char *pc = &c;

?? pa多少位元組, pc多少位元組

mac ,iphone 5s後是64位,位址佔8位元組, iphone 5s之前的手機是32位的,位址佔4個位元組

所以指標變數儲存的就是位址,其大小與位址一樣大,佔8位元組或4位元組

二、 *p 是什麼

三、為什麼使用指標?

四、指標與陣列

1. 指標加1

int *pb = &b;

2. 指標與陣列

3. 陣列引數

五.泛型指標和空指標

1.泛型指標

2.空指標:

六 const關鍵字

1) =23也不對, *p是乙個const int常量,則*(p+1)也是乙個const int常量

1. 分析 int a; int * p = &a;

2. 分析 *p

3. 分析 p++;

4. 分析(*p)++;

5. 分析函式傳位址。

6. 畫圖分析函式中改變*p,就是改變本體。

7. 使用指標,寫兩個相應的函式完成:

int a, b, c;

char d, e, f;

整型求和後,將a,b, c置-1,

d, e, f 中字元,大小寫轉換。

8. 分析int * p = 5;是可以的;int b = &a;也是可以的;int b = &a;int * p = b也是可以的,到底是怎麼個過程。

1.函式實現輸入一行字元,另一函式實現分別統計出其中英文本母、空格、數字和其它字元的個數。

2.函式實現輸入乙個已經排好序的陣列。再輸入乙個數,要求按原來的規律將它插入陣列中。

3.函式實現將乙個陣列逆序。(並非逆序輸出,是陣列本身逆序)

4.函式實現有n個整數,使其前面各數順序向後移m個位置,最後m個數變成最前面的m個數

5.函式實現輸入一行字元,最大長度為90,統計出其中有多少個字串,不算標點。例如:

輸入:hi, welcome to qianfeng!!

輸出:4

6.編寫乙個函式,時分秒,輸出該時間的下一秒。如輸入23時59分59秒,則輸出0時0分0秒(**)

輸入格式為    23:59:59

輸出格式為    0:0:0

7. 編寫函式將乙個n*n矩陣轉置,例如:(****)

1 2 3 4     1 5 3 4

5 6 7 8 ->  2 6 2 7  

3 2 5 9     3 7 5 2

4 7 2 3     4 8 9 3

"abcdefg", "yusdfsdf", "bsdf", "bjiiig", "zddd",排序後為:

"abcdefg", "bbjiiig", "bsdf", "yusdfsdf", "zddd"。

C語言中的函式指標

開啟去年6月的乙個test.cpp檔案,發現對裡面測試的函式指標幾乎沒有印象了。溫故而知新,於是重新找到ansi c 裡面的說明 除了宣告指向整型數字 雙精度型數字和c語言其他資料型別的指標外,指標也能夠被宣告指向乙個函式 包含乙個函式的位址 指向函式的指標是可能的,因為函式名像陣列名一樣,它們本身...

C語言中的函式指標

1.函式指標的定義 顧名思義,函式指標就是函式的指標。它是乙個指標,指向乙個函式。2.函式指標的使用 我們定義了乙個函式指標,但如何來使用它呢?先看如下例 include include char fun char p1,char p2 int i 0 i strcmp p1,p2 if 0 i r...

C語言中的函式指標 指向函式的指標

函式指標是什麼?在定義乙個函式之後,在編譯後,系統會為函式分配一段儲存空間。指標用來儲存位址的,而函式指標也是一樣,只不過儲存的是函式儲存空間的起始位址.如何在c語言中使用函式指標int p int int int代表的是指標變數名,兩個int代表,函式引數有兩個,且都為int型,當然以上定義只為示...