C 程式設計練習5 指標陣列 高階指標 複習

2021-10-01 06:24:49 字數 1155 閱讀 5531

本人c語言現已學習到結構體

1,用指向指標的指標的方法對5個字串排序後輸出

我的答案如下:

#include#includevoid fun1(char *p,int a);

main()

; int i,j;

fun1(p,5);

for(i=0;i<5;i++)

printf("%s\n",p[i]);

}void fun1(char *p,int a)

}

本題涉及指標陣列的內容,指標陣列內的每乙個元素都是乙個指標變數,分別指向不同的字串。

注意這裡的字串位於記憶體裡的常量區,是無法改變的

同時我們也用到了乙個字元公式,即strcmp(比較兩個字串的大小)(從首字元開始比較ascii碼)

strcmp(str1,str2)

str1 > str2 則返回值大於0;

str1 < str2 則返回值小於0

str1 = str2 則返回值等於0

最後通過改變陣列內各元素的指向,就可以由小到大的將個支付串排列出來啦。

2,找到乙個二維陣列中的鞍點,即該位置上的元素在改行上最大,該列上最小,也可能沒有鞍點。

我的答案如下:#include#define n 3

main()

; int(*q)[n];

int max,min,swap,x=0,y=0;

q=a;

for(i=0;imax)

min=q[0][x];

for(j=0;j這道題太難受了,在沒有完全理解指標的情況下,只能照葫蘆畫瓢的將它晦澀的描繪出來,而且在上課的時候我還沒有完全答出來,看來是拿不到優秀了。

回去後一頓猛學,簡單的修改了一下。

修改後:#include#define n 3

void fun1(int (*q)[n]);

main()

min=q[0][x];

for(j=0;j可能起來還差不多,可是本人的思想還是發生了一定的變化的呀。

這裡用到了乙個行指標指向了我原來輸入進去的陣列,行指標狀態之下,q[i][j]=a[i][j],但要注意這裡的q!=a,因為乙個是變數,乙個是常量。

接下來的操作就簡單了呀,按原思路就可以完美解決了。

c語言程式設計(5)指標

指標是 c 語言中乙個重要的概念,也是 c 語言最精彩的部分。正確而靈活的運用它,可以是程式簡潔 緊湊 高效。指標變數是一種特殊的變數,它存放的不是資料,而是另一種變數的位址。這個存放資料的變數被稱為指標變數所指向的目標變數。由於通過指標變數中的位址可以直接訪問它指向的目標變數,常把指標變數簡稱為指...

C語言練習筆記 指標9 指標陣列

指標陣列 首先它是乙個陣列,陣列的元素都是指標,陣列佔多少個位元組由陣列本身的大小決定,每乙個元素都是乙個指標,在32 位系統下任何型別的指標永遠是佔4 個位元組。它是 儲存指標的陣列 的簡稱。陣列指標 首先它是乙個指標,它指向乙個陣列。在32 位系統下任何型別的指標永遠是佔4 個位元組,至於它指向...

C程式設計高階week5(指標2注意)

陣列中的指標 基本知識 注意b,pb,c,pc,b和pb是位址,c和pc列印出來是內容,因為是字元陣列 這段,加上那一段就列印位址了 定義指標後可以直接把字串賦給pc,但這樣就不能用pc指標修改這個字串 buffer可以賦給pc,因為都是char指標 這裡,a 1是下乙個int,a是指向陣列的指標,...