c 入門008 指標

2021-08-07 22:13:50 字數 921 閱讀 1929

指標是乙個變數,其儲存的是值的位址。

1.宣告、初始化、賦值

int *pt; //指標pt指向int型別;

總有人瞎定義:

int *pt,py;//創造乙個指標pt和乙個int變數py;

初始化: 

int yang=5;

int *pt=&yang;

2.指標的危害

int *pt;

pt=&yang;//事實上,賦給指標只要是位址就行,這就要了解一些結構、型別的實際意義。如"hsuwn"代表字串的首位址,陣列名也是位址一類的都可以給指標賦值。甚至int* 5都代表位址(強制轉化為位址)。

倘若你既沒有初始化也沒有賦值,那麼直接像下面這樣賦值將會發生不可估計的錯誤。人!畜!滅!絕!

int *pt;//ok

*pt=5;//轟

因為計算機不知道自己到底要將5放到哪個位址裡去,它也很忙呀,它就隨便放乙個地方,導致有可能代替其他重要的位置,導致程式gg

3.指標與陣列

指標算數:指標指向的是該變數的首位址,如果給它+1,它自動跳過 儲存該變數剩餘的位址 到 另乙個變數的首位址。所以它+1就是+該變數的位元組(相對)。如果定義的是double變數8位元組,計算機乙個位址儲存1位元組,那麼指標+1等於+8。

陣列:例 int y[0] 代表int *(y+0). inty[1] 代表int*(y+1);同理指標也可以轉為陣列。

所以位址,int y[0]的位址為y; int y[1]的位址為y+1;

字串相當於char型陣列。但是不能用指標改變改變字串中的值。所以可以用const來定義指標。例:

const char *name="yang";//不能改變字串的值。

4.指標陣列

例:char* a[10];

char* a[10]=

008 指標操作符

c語言精彩程式設計百例第9個例子 指標操作符 源程式如下 include void main begin 10 p begin end p movl 10,8 ebp begin leal 8 ebp eax eax begin movl eax,4 ebp p eax movl 4 ebp eax...

C 入門 2 指標

電腦程式在儲存資料時必須跟蹤以下3個屬性 include int main 輸出如下,顯示位址時,該實現的cout使用十六進製制法,因為這時常用於描述記憶體的表示法。a value 6 anda address is 0x7ffedf68996c b value 4.5 and b address ...

C 基礎入門 07指標

指標的作用 可以通過指標間接訪問記憶體 指標變數定義語法 資料型別 變數名 示例 int main 指標變數和普通變數的區別 總結3 對指標變數解引用,可以操作指標指向的記憶體 提問 指標也是種資料型別,那麼這種資料型別占用多少記憶體空間?示例 int main 總結 所有指標型別在32位作業系統下...