寫程序的時(shí)候經(jīng)常要定義這樣一個(gè)數(shù)組,要前面程序運(yùn)行后才能知道數(shù)組的大小,然而C語言不支持直接定義不定長數(shù)組的定義,但是我們可以通過動(dòng)態(tài)數(shù)組實(shí)現(xiàn)一個(gè)不定長度的數(shù)組。
在虎丘等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè),虎丘網(wǎng)站建設(shè)費(fèi)用合理。
一維數(shù)組:
#include<stdio.h> #include<stdlib.h>//要使用malloc是要包含此頭文件 #include <memory.h>//要使用memset是要包含此頭文件 int main() { int m; scanf("%d", &m);//scanf只是遇到回車符的時(shí)候結(jié)束,并沒有把回車符輸入,因此輸入流中還有一個(gè)回車符 getchar();//把輸入流中的回車符讀走 int *p; p = (int*)malloc(m*(sizeof(int)));//動(dòng)態(tài)申請(qǐng)內(nèi)存 memset(p, 0, m);//初始化,每個(gè)元素都為零 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只是遇到回車符的時(shí)候結(jié)束,并沒有把回車符輸入,因此輸入流中還有一個(gè)回車符 getchar();//把輸入流中的回車符讀走 int **p; p = (int**)malloc(m*(sizeof(int*)));//二級(jí)指針?biāo)诘刂飞暾?qǐng)內(nèi)存 int i, j; for (i = 0; i<m; i++) p[i] = (int*)malloc(sizeof(int)*n);//一級(jí)指針?biāo)诘刂飞暾?qǐng)內(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]); //輸出每個(gè)元素及地址,每行的列與列之間的地址時(shí)連續(xù)的,行與行之間的地址不連續(xù) } printf("\n"); } for (i = 0; i < m; i++) free(p[i]); free(p); getchar();//讓程序停頓,好看到輸出 return 0; }
以上這篇C實(shí)現(xiàn)不定長數(shù)組的示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持創(chuàng)新互聯(lián)。
本文名稱:C實(shí)現(xiàn)不定長數(shù)組的示例
網(wǎng)頁URL:http://m.rwnh.cn/article36/ipghsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、響應(yīng)式網(wǎng)站、品牌網(wǎng)站建設(shè)、小程序開發(fā)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)