一、指標
1、指標就是存放位址的變數。乙個指標變數占用4個位元組。
int* pa;//int * pa;
2、指標型別、取位址、解引用
(1)指標型別
int* pa;//pa,*pa
int *pa;
int * pa;
語義:pa是乙個指標,該指標指向乙個int型的資料,即pa存放乙個int型資料的位址。
int* pa,pb;//pa是int*,pb是int
int *pa,*pb
(2)取位址——&
int a=5;
int* pa=&a;//pa指向a,a是pa的目標,pa是a的指標,pa存放著a的位址。*pa
(3)解引用(取目標)——*
*pa=100;//將100賦值給pa的目標,即賦值給a,pa=100;
3、指標的用法//int add(int* p);
(1)將指標作為函式的引數,傳遞變數的位址,進而在多個函式中訪問相同的記憶體資料。
(2)指標也可以作為函式的返回值,但是不要返回指向區域性變數的指標。因為函式返回以後,其區域性變數所占用的記憶體將隨函式棧一起被釋放,所得到的指標為野指標。
int add()
4、常量、常量指標和指標常量
(1)const可以修飾普通變數,該變數就會被當做常量來處理,即其值一經過初始化就不能再被修改。
(2)常量指標:指向常量的指標,即無法通過該指標修改其目標。
const int* p;
int const* p;
(3)指標常量:指標型的常量,即無法修改其值的指標。
int* const p;
const int* const p;//常量指標常量,p本身不能修改,其目標亦不能修改。
//const的用法
//遊戲、不想被其他人修改自己的**,要用const
#include
int main()
C語言基礎之指標續
一 指標 1 指標與陣列 include int main int p 下面兩句其實是等價的,陣列名本身就代表陣列位址 p ages p ages 0 printf p p n p 指標指向陣列首元素,因此列印的是陣列位址 printf p d n p 指標指向陣列首位址,其指向位址中的值就是age...
C語言基礎之指標運算
指標的加法 define crt secure no warnings include int main 宣告乙個char型別的陣列 char p ac 指標p為char 型別 printf p p n p printf p 1 p n p 1 輸出指標p 1的結果 int ai 宣告乙個int型別...
C語言基礎 指標基礎
最小儲存單位 bit 即 0 1 基本儲存單位 byte 1byte 8bit 注 計算機訪問的資料是byte位數定義變數 分配儲存空間 引用變數 通過變數名引用變數的內容即變數空間的首位址 為常量,即 變數名 專門儲存位址常量的變數型別 變數名所有指標變數均分配4byte的儲存空間 與其他變數相同...