C語言基礎學習(7) 指標

2021-09-28 11:34:03 字數 1473 閱讀 7259

#include

void

interchange2

(int

,int);

void

interchange1

(int

* u,

int* v)

;int

main

(void

)void

interchange1

(int

* u,

int* v)

void

interchange2

(int u,

int v)

函式1只是在形參交換資料,資料2可以對主函式中的實參值進行交換

/**  sum.c 求陣列中元素之和  */

#include

#define size 10

intsum

(int

* start,

int* end)

;int

main

(void);

long answer;

answer =

sum(marbles, marbles + size)

;//陣列表示,開始和結束

printf

("****** %ld ********"

, answer)

;return0;

}int

sum(

int* start,

int* end)

return total;

}

1)sum(int marbles, int)//第乙個是位址,第二個元素個數

2)sum(int * start, int * end) //第乙個是start陣列首位址元素,第二個是結束位址

int * pt; // 未初始化的指標

*pt = 5; // 嚴重錯誤

系統建立乙個指標時候只分配了儲存指標本身的記憶體,未分配儲存資料記憶體

指標常量就是指標不可變,而指向內容卻可以改變(必須初始化)int * const p;

常量指標就是指標可變,但指向常量不可改變(不必初始化)int const * p, const int * p;

int (* ptr) [3]:表示ptr是乙個指向陣列的指標,陣列的每個元素含有3個陣列元素,也就是3代表陣列的列

int(*ptr) [n],n代表的是陣列的列。編譯器要知道指標指向的陣列元素包含多少元素,也就是n

void sum(int (*pt)[n]);

等價於:

void sum(int pt[n]); 代表pt是乙個指標

void sum(int pt[3][n]);有效,但3將被忽略

int ref = ;

int * pt;

ref + 1// 合法

ref++// 不合法,因為ref值是常量

C語言基礎學習 9 指標

指標全稱是指標變數,其實質是c語言的一種變數。這種變數比較特殊,通常它的值會被 賦值為某個變數的位址值 p a 然後我們可以使用 p這樣的方式去間接訪問p所 指向的那個變數。指標存在的目的就是間接訪問。有了指標之後,我們訪問變數a不必只通過a這個變數名來 訪問。而可以通過p a p 這樣的方式來間接...

C語言基礎四 指標

指標表示乙個位址,什麼型別的指標就應該指向什麼型別的記憶體空間,例如int 型別的指標就應該指向乙個int型別的空間。int a 7 int p null 指標的定義 p a 指標的繫結 p 5 指標的解引用對於同型別指標p1,p2,一般有這幾種運算 p1 3,p1 3,p2 p1 int a 5 ...

C語言基礎(9) 指標

指標與陣列 指標變數定義的一般形式 型別 指標變數名符號 在變數宣告語句中是指標型別說明符,前面的型別用於宣告指標可以指向哪種型別的變數,稱為指標的基型別。例如 int pt1 int pt2 int a 520 int pt a 用 運算子可以獲取指標變數所指向變數的內容,該運算子被稱為指標變數間...