指標變數與其餘變數的乙個區別:
int *i 能通過*來訪問該指標,並能改變該指標所指物件的值 如int *i=&p ;cout<<*i; *i=1;
而對於其餘變數如int i 不能使用*來訪問 即使i存的值為乙個位址 而對這種變數可使用&來獲得位址
如int p=100;int *i=&p;此時i的本身的值為p的位址,而*i為p的值為100 *i=90 等同於 p=90
但如果指標指向常量 則宣告該指標時的也要把它申明為指向常量的指標 如const int *p;他指向的值也為乙個常量如const int a=3000; *p=a;或者直接*p=&a (該常量為a的位址)
注:若p被申明為指向常量的指標,則p可改變指向,但不能改變p指向的值 如
int a;
const int *p=&a; //p為指向常量的指標,該常量為a的位址
int b; //
*p=1; //不行,不能改變該常量物件的值,(常量物件的值無法改變)
const int q=10;
*p=q; //不行 理由同上
C學習 指標
1 指標 a int a 表示乙個記憶體空間,這個空間用來存放乙個整數 int b int a 表示乙個記憶體空間,這個空間用來存放乙個指標,這個指標指向乙個存放整數的空間,即 a 中提到的空間 c int a 表示乙個記憶體空間,這個空間用來存放乙個指標,這個指標指向乙個存放指標的空間,並且指向的...
C 指標學習
一 指標的概念 如果在程式中定義乙個變數,在編譯時系統會自動給這個變數分配記憶體單元,並根據程式中的定義的變數型別,分配一定長度的記憶體空間,這樣的記憶體單元裡放著變數的值。為了便於記憶體單元的訪問,系統為每乙個記憶體單元分配乙個位址。在變數的生存期內,不管以後對變數如何賦值,其記憶體位址都是固定不...
C 學習 指標
關於二級指標的學習遇到了一些困惑,也有了一些不知是否正確的結論。在文章中留個底以記錄學習過程。author 以下是一些暫時的結論 1.將每個變數名都理解成位址 2.注意區分堆與棧中的變數 3.表示取左值 根據位址跳轉 表示取位址 宣告時表示建立乙個引用 ex.char string aaa char...