国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C實現不定長數組的示例

2020-05-23 13:29:28
字體:
來源:轉載
供稿:網友

寫程序的時候經常要定義這樣一個數組,要前面程序運行后才能知道數組的大小,然而C語言不支持直接定義不定長數組的定義,但是我們可以通過動態數組實現一個不定長度的數組。

一維數組:

#include<stdio.h>#include<stdlib.h>//要使用malloc是要包含此頭文件#include <memory.h>//要使用memset是要包含此頭文件int main(){ int m; scanf("%d", &m);//scanf只是遇到回車符的時候結束,并沒有把回車符輸入,因此輸入流中還有一個回車符 getchar();//把輸入流中的回車符讀走 int *p; p = (int*)malloc(m*(sizeof(int)));//動態申請內存 memset(p, 0, m);//初始化,每個元素都為零 int i; for (i=0;i<m; i++)//數組賦值 {  p[i] = i; }  for (i = 0; i <m; i++)//打印數組  {   printf("%d,", p[i]);  } free(p);//釋放內存 getchar();//讓程序停頓,好看到輸出 return 0;}

二維不定長數組

#include <stdio.h>#include <stdlib.h>//要使用malloc是要包含此頭文件#include <memory.h>//要使用memset是要包含此頭文件int main(){ int m, n; scanf("%d%d", &m,&n);//scanf只是遇到回車符的時候結束,并沒有把回車符輸入,因此輸入流中還有一個回車符 getchar();//把輸入流中的回車符讀走 int **p; p = (int**)malloc(m*(sizeof(int*)));//二級指針所在地址申請內存 int i, j; for (i = 0; i<m; i++)  p[i] = (int*)malloc(sizeof(int)*n);//一級指針所在地址申請內存 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]);  //輸出每個元素及地址,每行的列與列之間的地址時連續的,行與行之間的地址不連續   }  printf("/n"); } for (i = 0; i < m; i++) free(p[i]);   free(p); getchar();//讓程序停頓,好看到輸出 return 0;}

以上這篇C實現不定長數組的示例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海口市| 大新县| 太原市| 锦屏县| 五大连池市| 鄄城县| 临漳县| 北安市| 承德县| 桂阳县| 阿坝县| 嵊州市| 大荔县| 临桂县| 临城县| 平泉县| 溧阳市| 旬阳县| 江山市| 翁源县| 和平县| 白玉县| 天台县| 西畴县| 沐川县| 呼伦贝尔市| 资兴市| 湘西| 公主岭市| 石家庄市| 鄂尔多斯市| 保靖县| 佛教| 顺昌县| 阳春市| 长宁县| 临猗县| 沙湾县| 三台县| 武穴市| 昌黎县|