指標是乙個變數,其儲存的是值的位址。
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位作業系統下...