陣列與指標
此處有與最早發的指標部落格有很多相同處,相同處不在過多贅述
#include
void fun1
(int *arr[
], int n)
;int main()
void fun1
(int* arr[
], int n)
}執行結果:
a=1 b=
2 c=
3 d=
4
指標陣列
#include
int main()
; int b=
; int c=
; int* arr=
;for
(int i =
0; i <
3; i
)//上述兩層for迴圈等價於下面的兩層for迴圈
puts(""
);for(int i=
0;i<3;i
)return0;
}執行結果:12
3456
7891
2345
6789
多級指標
c語言中允許有多級指標存在,在實際的程式中一級指標最常用,其次是二級指標。
二級指標就是指向乙個指標變數位址的指標
**指標基本用不著,但是考試會考!
二級指標:
定義乙個指向指標資料的指標變數:int **p。
模擬:int p=(int)(*p):表示p為乙個二級指標,指向乙個int型的整型指標。
假設有int型的變數a,p1是指向a的指標變數,p2又是指向p1的指標變數。
這種關係轉換成c語言**為:
int a=100; int p1=&a; int p2=&p1;
c語言不限制指標的級數,每增加一級指標,在定義指標變數的時候就得增加乙個。
p1是一級指標,p2是二級指標,指向一級指標p1,定義時有兩個
。
#include
int main()
執行結果:
23
字串去空格:
#include
void remove_space
(char* ch)
;int main()
void remove_space
(char* ch)
; int i =0;
int j =0;
while
(ch[i]
!='\0'
) i;}
printf
("%s\n"
, str);}
執行結果:
helloworld
指標作為函式返回值
返回乙個位址
字串中查詢字串
#include
char*
my_strstr
(char* src, char* dest)if(
*tdest ==
'\0'
)//回滾
fsrc = rsrc;
tdest = dest;
fsrc;}
return null;
}int main()
執行結果:
llo world
指標與陣列,指標陣列 陣列指標
int a 10 print n a p,a p a,a print n a 1 p,a 1 p a 1,a 1 a做乙個指標,步長為4,指向乙個元素,a做乙個指標,步長為40,指向乙個維陣列 int b 3 4 print n b p,b p,b p b,b,b print n b 1 p,b 1...
指標陣列與陣列指標
1.指標陣列 指標陣列中每乙個元素都是乙個指標,也既是存放字串的首位址。所以指標陣列適合處理若干個長度不等的字串。定義的一般形式為 型別說明符 指標陣列名 陣列長度 例如 int p 3 宣告乙個陣列,指標陣列p,由3個int型別指標變數元素組成 從運算子的優先順序分析,由於 的優先順序大於 所以p...
指標陣列與陣列指標
呵呵,實在是厭倦了繞口的解釋。指標陣列,故名思義,就是指標的陣列,陣列的元素是指標 陣列指標,同樣,就是直想陣列的指標。簡單舉例說明 int p 2 首先宣告了乙個陣列,陣列的元素是int型的指標。int p 2 宣告了乙個指標,指向了乙個有兩個int元素的陣列。其實這兩種寫法主要是因為運算子的優先...