C語言-15:多維數組與指針
C語言中指針與數組的關係密不可分,同時C語言規定多維數組名也是一個指針,例如二維數組a[3][5],a[3]便是一個指針。那這又有怎樣的應用呢?
C-Free
例:
1、打開C-Free,新建文件。
2
輸入以下內容:
#include
main()
{
char stu[4][4][10];
int i,j;
printf("請輸入4個項目");
for(j=0;j<4;j++){
printf("項目%d:",j+1);
scanf("%s",stu[0][j]);
}
printf("請輸入3個%s",stu[0][0]);
for(j=1;j<4;j++){
printf("第%d個%s:",j,stu[0][0]);
scanf("%s",stu[j][0]);
}
for(i=1;i<4;i++)
for(j=1;j<4;j++){
printf("請輸入%s的%s:",stu[i][0],stu[0][j]);
scanf("%s",stu[i][j]);
}
printf("情況如下:");
for(i=0;i<4;i++){
for(j=0;j<4;j++)printf(" %s",stu[i][j]);
printf("");
}
}
3
運行結果如圖:
説明:
char stu[4][4][10];這裏定義了一個三維的字符數組總共有4x4x10個元素,但是例中,最後一維即[10]是用來儲存字符串的,因此一共有4x4個項目。
1【C語言-12】多個數據的統一化處理(數組)1【C語言-13】字符數組
在開始便提到過,對於二維數組a[3][5],a[3]是一個指針,因此stu[0][j]也是一個指針。
0【C語言-14】數據的門牌號——指針
我們還記得scanf函數裏有一個&,這個&便是取地址的意識,故在scanf("%s",&word);中&word是個地址,因此當後面的變量本身就是一個指針時,便不需要加&了,如例中:scanf("%s",stu[0][j]); 便沒有加&。
注意:在數組中,字符串是不可以存儲到一個變量中的,字符串始終是以數組的`形式儲存的,如以前提到過的
char word[10];
scanf("%s",&word); //見《【C語言-02】向系統輸入內容文字(字符串)》
這個word其實就是一個數組。
0【C語言-02】向系統輸入內容文字(字符串)
因此像例中一樣,要輸出一個二維的帶字符串的項目,必須定義3維數組,如圖:
-
C語言main函數的參數
導語:main函數一般都是不帶參數的,那麼什麼情況會帶參數呢?讓我們瞭解一下吧!一般main函數都是不帶參數的。因此main後的括號都是空括號。實際上,main函數可以帶參數,這個參數可以認為是main函數的形式參數。C語言規定main函數的參數只能有兩個,習慣上這兩個參數寫...
-
2017年計算機二級C語言考點習題
計算機二級考試知識點的掌握對考生來説是比較重要的,下面是本站小編為各位考生整理的2017年計算機二級C語言考點習題,希望你的的考試有所幫助!1.在深度為5的滿二叉樹葉中,葉子結點的個數為()。A.32B.31C.16D.152.軟件生命週期中,花費最多的階段是()。A.詳細設計B....
-
C與C++之間相互調用的實例方法
如果使用C語言編寫的DLL,希望從中導出函數給C或C++的模塊訪問,則應使用__cplusplus預處理器宏確定正在編譯的語言。如果是從C++語言模塊使用,則用C鏈接聲明這些函數。如果使用此技術併為DLL提供頭文件,則這些函數可以原封不動地由C和C++模塊使用。下面是小編為大家...
-
什麼是C語言中指針 C語言指針的基礎使用
為什麼説指針是C語言的精髓?本文主要介紹了對C語言中指針的理解與其基礎使用實例,有需要的朋友可以參考一下!想了解更多相關信息請持續關注我們應屆畢業生考試網!C語言的指針,關鍵意思在於“指”。“指”是什麼意思?其實完全可以理解為指示的意思。比如,有一個物體,...