指標變數定義細節1
1:下面都是合法的定義:
float *pointer_3; // pointer_3是指向單精度型資料的指標變數
char *pointer_4; // pointer_4是指向字元型資料的指標變數
請注意:指標變數名是pointer_3和pointer_4,而不是pointer_3和*pointer_4,即「」不是指標變數名的一部分,在定義變數時在變數名前加乙個「*」表示該變數是指標變數。
2: &a為變數a的位址,*p為指標變數p所指向的儲存單元。
二: 對於指標為引數的函式
1:如果想通過函式呼叫得到n個要改變的值,可以採取下面的步驟:
2: 在主調函式中設n個變數,用n個指標變數指向它們;
3: 編寫被呼叫函式,其形參為n個指標變數,這些形參指標變數應當與主調函式中的n個指標變數具有相同的基型別;
4:在主調函式中將n個指標變數作實參,將它們的值(是位址值)傳給所呼叫函式的n個形參指標變數,這樣,形參指標變數也指向這n個變數;
5: 通過形參指標變數的指向,改變該n個變數的值;
6: 在主調函式中就可以使用這些改變了值的變數。
三: 對於指向陣列的指標
1:*p = a[0];與*p = a;在a為第乙個陣列元素的情況下等價,如果指標變數p已指向陣列中的乙個元素,則p+1指向同一陣列中的下乙個元素。
如果p的初值為&a[0],則:
2: p+i和a+i就是a[i]的位址,或者說,它們指向a陣列的第i個元素
3:(p+i)或(a+i)是p+i或a+i所指向的陣列元素,即a[i]。
可以看出,實際上是變址運算子。對a[i]的求解過程是: 先按a+i×d計算陣列元素的位址,然後找出此位址所指向的單元中的值
ps:
如果先使p指向陣列a的首元素(即p=a),則:
1) p++(或p+=1)。使p指向下一元素,即a[1]。如果用*p,得到下乙個元素a[1]的值。
2) p++。由於++和同優先順序,結合方向為自右而左,因此它等價於*(p++)。作用是: 先得到p指向的變數的值(即*p),然後再使p的值加1。例6.5(3)程式中最後乙個for語句:
for(p=a;p
歡迎使用CSDN markdow
本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...
歡迎毛毛與妞妞使用CSDN markdown編輯器
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...
歡迎使用CSDN markdow1n編輯器
本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...