国产探花免费观看_亚洲丰满少妇自慰呻吟_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武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东丰县| 德兴市| 龙游县| 准格尔旗| 杂多县| 平昌县| 屯留县| 广水市| 伊宁县| 灌南县| 三门峡市| 阳朔县| 大邑县| 渝北区| 海城市| 康保县| 民勤县| 汕尾市| 当阳市| 灵丘县| 泸定县| 南郑县| 凤城市| 从江县| 汉阴县| 左贡县| 保定市| 利辛县| 茶陵县| 泰安市| 安远县| 潮安县| 济阳县| 东台市| 东乡族自治县| 怀集县| 惠来县| 张家界市| 辽源市| 黄大仙区| 红河县|