格式:datatype name = value; //定義格式
int p; //定義,定義時必須帶 。
float p1 = &a;
char p2 = &c;
p1 = &b;
p2 = &d; //賦值,在定義的同時賦值需要帶,單獨賦值時不能帶,因為p代表指標變數的值,即位址。p代表指標指標變數指向的變數的值。
乙個函式在編譯時被分派乙個入口位址,這個位址就稱為函式的指標,函式名代表函式的入口位址。
其宣告格式為:返回值型別 (fun_ptr)(引數列表)
如 int (p)(int a, int b); p是乙個指標變數,它指向乙個函式,這個函式有2個整型引數,函式返回值型別為int。p首先和*結合,說明p是乙個指標,然後再與()結合,說明它指向的是乙個函式,指向函式的指標即為函式指標。
返回指標的函式:乙個函式可以返回乙個整型值、字元值、實型值等,也可以返回指標型的資料,即位址;
定義形式為:型別名 *函式名(參數列列); 例如:int a(int x,int y); 注意與指標函式int (a)(int x,int y)不合。
注意:在挪用時要先定義乙個適當的指標來接收函式的返回值,這個適當的指標其型別應為函式返回指標所指向的型別。
例:pc = (char *)malloc(100);暗示分派100個位元組的記憶體空間,並強制轉換為字元陣列型別,函式的返回值為指向該字元陣列的指標,把該指標付與指標變數pcchar *pc=null;pc = (char *)malloc(100);void型別的指標void指標是一種很特另外指標,其實不指定它是指向哪一種型別的資料,而是根據需要轉換為所需資料型別。
指標果然是c語言的靈魂,其作用十分巨大,但是學習起來也難度不小,剛剛接觸時還很矇圈,再加上這周事情特多都沒複習導致更加難以理解,還好利用空餘時間複習並敲了一些pta題目,現在總算對指標有了一定了解,但是想要深入還要繼續應用實踐。
定義乙個函式char* fin(char* str,char op)
定義兩個字元型變數op,ch用來儲存想要查詢的字元和吸收『\n』
定義乙個字元陣列,
用fgets讀入字串,並在字串的最後加上『0』。
向函式fin傳入str首位址和字元op,
在函式中遍歷陣列,計錄指標的偏移量
if(條件不滿足)返回null
else返回str+偏移量
if(條件滿足)輸出not found
else輸出下標。
ch 儲存多餘『n\』
fgets讀入字串,最後要記得賦零
指標做函式返回值的函式的寫法
下標偏移量和指標位置的關係
1:沒有考慮到第乙個就符合的情況
2:第乙個就返回的判斷錯誤
3:格式錯誤(其實前幾個錯誤就有了。。。)按題目要求改了一下就過了
根據傳入的引數
定義乙個整型指標p指向首位址
for i 0 to n step 1 do
將陣列n接到陣列m後面
endfor i 0 to m+n-1 step 1 do
//將合併的陣列從小到大排序
陣列的合併
選擇法排序
指標運算元組內容
1:用我自己先合併再排序的方法,發現資料量太大時會超時
2:用同學在定義乙個陣列,在同時移動指標排序,用空間換時間超時的測試點就過了
定義乙個整型變數max儲存最大值的偏移量
for i 1 to n step 1 do
找出最大值的偏移量
end和a[0]交換
for i 2 to n step 1 do
找出次小值的偏移量
end和a[1]交換
用迴圈找最大
用指標操作交換陣列中的兩個數
1:沒有交換直接將找到的最大值賦給a[0],導致原來的還在
2:交換是寫反了導致兩個位置相同
#include#includeint main()
for(j=1;j<=2*k-1;j++)
for(j=1;j<=abs(n-i)+1;j++)
printf("\n");
} return 0;
}
效果:
abs函式(針對整型的絕對值函式)用以處理菱形問題十分方便
C部落格作業05 指標
展示關於 指標題目集 分數截圖。每個知識點具體展開介紹。包括指標如何指向字串 字串相關函式及函式 原型的理解 字串相關函式用法 擴充套件課堂未介紹內容 具體格式是什麼,注意事項。為什麼要動態記憶體分配,堆區和棧區區別。動態記憶體分配相關函式及用法。舉例為多個字串做動態記憶體要如何分配。多個字串用二維...
C部落格作業05 指標
1.指標做迴圈變數做法 基本做法如下 int a 10 int p p a 指標指向a陣列的首位址 fgets a,10,stdin for p a p 0 p n p 2.字元指標如何表示字串 基本做法如下 char str abc char p for p str p 0 p n p 3.動態記...
C部落格作業05 指標
名說明a二維陣列名是乙個二級指標,即a 0 的位址 a 0 一級指標,即a 0 0 的位址 a i第i行的位址 a i 第i行首元素的位址,等價於a i a i 第i行首元素的值 指標這塊內容確實比較難理解,我pta上的大多數題目都是用陣列的操作思維完成的,現在通過部落格重新過了一遍書本的內容,發現...