2.指標變數的定義
3.指標變數的賦值
4.開闢動態儲存單元
5.指標運算子
指標嘛?這玩意,還真挺難!每次程式設計序遇到指標時……
指標,是c語言的一種派生型別,指標變數儲存的值是某**記憶體位址
①使用指標可以更加靈活地組織具有複雜關係的資料,簡化操作過程,提高程式的執行效率。
①可以通過其儲存位址間接訪問變數中的資料
【語法格式】:型別識別符號 * 識別符號
例如:
int
*p;
通過位址符&
int
*p;//定義指標變數
p=&a;
//把變數 a 的位址賦給指標變數 p,表示指標 p 指向變數 a
float a,
*p=&a;
或者float a;
float
*p=&a;
//指標 p 與變數 a 的型別必須一致
int i;
int*p1=
&i,*p2;
p2=p1;
p=
null
;//當指標被賦值為null時,指標不指向任何資料。
【語法格式】new 型別名;
【語法格式】new 型別名[元素個數];
【語法格式】delete 變數名;
【語法格式】delete 變數名;
int i=7,
*p;double
*q;p=new int
[i+3];
//在記憶體中分配10個int型別的連續儲存單元塊
q=new double
;//在記憶體中分配乙個double型別儲存單元塊
……delete q;
//釋放double單元塊
delete [
]p;//釋放10個int型別連續儲存單元塊
int i=
123,j,
*p;p=
&i;
j=
*p;//指標間接賦值,*p等價於變數ij=*
&i;//直接賦值,*&i等價於變數i
// * 和 & 都是單目運算子,具有相同的優先順序,結合方向自右向左
p=
&i;printf
("%d\n"
,*p);j=
(*p)++;
//括號不能省略
// * 和 ++ 均為單目運算子,結合方向自右向左,因此*p++ <=> *(p++)
int i=
1,j=2,
*p;p=
&i;*p+
=100;p=
&j;(
*p)--
;// *p 方式訪問變數值是間接的,比直接訪問乙個變數更加費時。
通過改變指標的指向,增加程式設計的靈活性,使**更加簡潔、高效。
*p <=
> i <=
>*&i
&*p <=
>
&i <=
> p
int
*p;p=new int
;//開闢一塊動態儲存區,把其首位址賦值給p
*p=789
;//指標運算子「 * 」是單目運算子,乘法運算子「 * 」 是雙目運算子
(未完待續……) 初入江湖 一
程式設計師的 就如同武林人士的武功一樣,那麼我們在開始修習 前先展示一段。初入江湖的少俠們請先以觀賞為主,後續我們慢慢到來!include 引用 easyx 圖形庫 include include mci 庫標頭檔案 pragma comment lib,winmm.lib intmain void...
c語言初學 初涉指標
指標 指標是乙個 4 bytes integers,儲存的是記憶體位址,1.定義 型別 變數名 2.使用const宣告指標變數 1 指向const的指標變數 int const p 等效於 const int p 該類指標變數指向的記憶體空間的內容是不可變的。eg.const int a 1 con...
C語言指標詳解(初解)
以下為本人的一些學習心得,有錯誤希望大家能指出來 在初步了解指標之前,我們先看一下指標的定義 來自 c語言入門經典第五版 可以儲存位址的變數叫做指標 pointers 我們都知道在計算機中,程式都是儲存在記憶體中的,cpu通過位址對其進行讀取和寫入資料。平時所用到的變數名,都只是一層包裝,是為了方便...