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 個位元組,至於它指向的陣列佔多少位元組,不知道。它是 指向陣...