C實現(xiàn)不定長數(shù)組的示例
寫程序的時候經(jīng)常要定義這樣一個數(shù)組,要前面程序運行后才能知道數(shù)組的大小,然而C語言不支持直接定義不定長數(shù)組的定義,但是我們可以通過動態(tài)數(shù)組實現(xiàn)一個不定長度的數(shù)組。
一維數(shù)組:
#include<stdio.h> #include<stdlib.h>//要使用malloc是要包含此頭文件 #include <memory.h>//要使用memset是要包含此頭文件 int main() { int m; scanf("%d", &m);//scanf只是遇到回車符的時候結(jié)束,并沒有把回車符輸入,因此輸入流中還有一個回車符 getchar();//把輸入流中的回車符讀走 int *p; p = (int*)malloc(m*(sizeof(int)));//動態(tài)申請內(nèi)存 memset(p, 0, m);//初始化,每個元素都為零 int i; for (i=0;i<m; i++)//數(shù)組賦值 { p[i] = i; } for (i = 0; i <m; i++)//打印數(shù)組 { printf("%d,", p[i]); } free(p);//釋放內(nèi)存 getchar();//讓程序停頓,好看到輸出 return 0; }
二維不定長數(shù)組
#include <stdio.h> #include <stdlib.h>//要使用malloc是要包含此頭文件 #include <memory.h>//要使用memset是要包含此頭文件 int main() { int m, n; scanf("%d%d", &m,&n);//scanf只是遇到回車符的時候結(jié)束,并沒有把回車符輸入,因此輸入流中還有一個回車符 getchar();//把輸入流中的回車符讀走 int **p; p = (int**)malloc(m*(sizeof(int*)));//二級指針所在地址申請內(nèi)存 int i, j; for (i = 0; i<m; i++) p[i] = (int*)malloc(sizeof(int)*n);//一級指針所在地址申請內(nèi)存 for (i = 0; i < m; i++) for (j = 0; j < n; j++) p[i][j] = i + j; for (i = 0; i < m; i++) { for (j = 0; j < n; j++) { printf("%d %p ", p[i][j], &p[i][j]); //輸出每個元素及地址,每行的列與列之間的地址時連續(xù)的,行與行之間的地址不連續(xù) } printf("\n"); } for (i = 0; i < m; i++) free(p[i]); free(p); getchar();//讓程序停頓,好看到輸出 return 0; }
以上這篇C實現(xiàn)不定長數(shù)組的示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持我們。
您可能感興趣的文章
- 01-10數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-用棧實現(xiàn)表達式求值的方法詳解
- 01-10使用OpenGL實現(xiàn)3D立體顯示的程序代碼
- 01-10求斐波那契(Fibonacci)數(shù)列通項的七種實現(xiàn)方法
- 01-10C語言 解決不用+、-、&#215;、&#247;數(shù)字運算符做加法
- 01-10使用C++實現(xiàn)全排列算法的方法詳解
- 01-10深入解析最長公共子串
- 01-10用C++實現(xiàn)DBSCAN聚類算法
- 01-10深入全排列算法及其實現(xiàn)方法
- 01-10全排列算法的非遞歸實現(xiàn)與遞歸實現(xiàn)的方法(C++)
- 01-10用C語言實現(xiàn)單鏈表的各種操作(一)


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對數(shù)函數(shù)的表達式 c語言中對
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
隨機閱讀
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 04-02jquery與jsp,用jquery
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10C#中split用法實例總結(jié)
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10delphi制作wav文件的方法