C語言指標和陣列總結

2021-10-24 09:33:12 字數 1063 閱讀 8535

1.指標的定義(以char *為例,即指標指向的char型別的變數)

char *p=(這裡可以等於空,可以等於位址,還可以等於字串)

char

*p="adlkfjalksdf"

;//p指標指向的記憶體存放的是這個字串

char

*p1=

&x;//p指標指向的記憶體存放的是變數x

char

*p=(

char*)

malloc

(sizeof

(char))

;//為指標p開闢了記憶體,但是還未存放內容

char

*p;//沒有開闢記憶體

char

*p=null

;//沒有開闢記憶體

2.指標的使用(還是以char *為例)

*p=(這裡只可以等於變數,不可以為空或位址)

p=(可以等於其他的指標,但是不能等於位址)

p+q;p+2;p++;指標之間可以加減,直接可以和int加減,得到的還是指標。(注:有的書上說指標之間的加法是非法的,減法是合法的)

*p=

'a';

*p=*q;

p=q;

p=&a;

//這樣賦值錯誤

p+q;

q=p+2;

p++;

3.函式中指標的使用

int

str(

char

*s)//代表傳過來的s是指標

void

main()

4.指標與陣列

char s和char *s等價。

char arr=「hello」;

char *arr=「hello」

f(int arr)和f(int *arr)等價。

例如

void

strlen

(char

*s,char

*t)

5.陣列指標:陣列裡存的是指標,指標指向不同的變數。

C語言指標陣列和陣列指標

初學者總是分不出指標陣列與陣列指標的區別。其實很好理解 指標陣列 首先它是乙個陣列,陣列的元素都是指標,陣列佔多少個位元組由陣列本身決定。它是 儲存指標的陣列 的簡稱。陣列指標 首先它是乙個指標,它指向乙個陣列。在32 位系統下永遠是佔4 個位元組,至於它指向的陣列佔多少位元組,不知道。它是 指向陣...

C語言指標陣列和陣列指標

初學者總是分不出指標陣列與陣列指標的區別。其實很好理解 指標陣列 首先它是乙個陣列,陣列的元素都是指標,陣列佔多少個位元組由陣列本身決定。它是 儲存指標的陣列 的簡稱。陣列指標 首先它是乙個指標,它指向乙個陣列。在32 位系統下永遠是佔4 個位元組,至於它指向的陣列佔多少位元組,不知道。它是 指向陣...

C語言指標陣列和陣列指標

初學者總是分不出指標陣列與陣列指標的區別。其實很好理解 指標陣列 首先它是乙個陣列,陣列的元素都是指標,陣列佔多少個位元組由陣列本身決定。它是 儲存指標的陣列 的簡稱。陣列指標 首先它是乙個指標,它指向乙個陣列。在32 位系統下永遠是佔4 個位元組,至於它指向的陣列佔多少位元組,不知道。它是 指向陣...