c語言之指標

2021-09-25 14:23:15 字數 1591 閱讀 1047

int

(* arr )[3

];//arr是乙個指向包含3個int元素的陣列的指標變數

struct student *p_struct;

//結構體型別的指標

int(

*p_func)

(int

,int);

//指向返回型別為int,有2個int形參的函式的指標

int*

* p_pointer;

//指向 乙個整形變數指標的指標

//取位址

int num =97;

int* p_num =

#//int arr[3]

=;int(

*p_arr)[3

]=&arr;

//int

add(

int a ,

int b)

int(

*fp_add)

(int

,int

)= add;

*p_age =20;

//通過指標修改指向的記憶體資料

//指標之間的賦值

int* p1 =

& num;

int* p3 = p1;

//空指標

//指向空,或者說不指向任何東西。在c語言中,我們讓指標變數賦值為null表示乙個空指標,而c語言中,null實質是 ((void*)0) , 在c++中,null實質是0。

//錯誤

int*p;

*p =10;

//oops! 不能對乙個未知的位址解位址

//void*型別指標 不知道型別的指標

//p->member 等價於 (*p).member

//改變量值

void

change

(int

* pa)

intmain

(void

)//數值交換

//正確的寫法:通過指標

void

swap_ok

(int

*pa,

int*pb)

//指標函式

void

echo

(const

char

*msg)

intmain

(void

)//const和指標

int a =1;

intconst

*p1 =

&a;//const後面是*p1,實質是資料a,則修飾*p1,通過p1不能修改a的值

const

int*p2 =

&a;//const後面是int型別,則跳過int ,修飾*p2, 效果同上

int*

const p3 =

null

;//const後面是資料p3。也就是指標p3本身是const .

const

int*

const p4 =

&a;// 通過p4不能改變a 的值,同時p4本身也是 const

intconst

*const p5 =

&a;//效果同上

C語言之指標

指標型別的本質分析 1 指標的本質 指標的本質 一種復合的資料型別。下面我將以下面幾個作為例子進行展開分析 a int p b int p c int parvalue 3 d int pfun 分析 所謂的資料型別就是具有某種資料特徵的東東,比如資料型別char,它的資料特徵就是它所佔據的記憶體為...

C語言之指標

指標的概念 什麼是指標?如果用一句話概括的的話那就是,乙個存放記憶體空間位址的變數。指標也是乙個變數,指標存放的內容是乙個位址,該位址指向乙個記憶體空間。指標變數的定義 int p 該變數用來存放乙個空間的位址。p 代表該指標指所指向記憶體空間中的值,切記指標只能存放有效的記憶體空間位址,不能存放其...

C語言之指標

指標是c語言學習乙個重要的概念,它極大的方便了c語言程式設計,用好了指標可以幫助我們程式設計,但是同時指標也是飽受爭議,因為指標的使用很容易出錯,所以在一開始學的時候就弄懂有關指標的知識點是必要的。那麼指標是什麼呢?其實指標也是一種變數,和其他型別的變數一樣,也是儲存資料的,只是在指標變數裡面儲存的...