91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C實現不定長數組的示例

發布時間:2020-09-30 23:55:36 來源:腳本之家 閱讀:516 作者:蔡松豆 欄目:編程語言

寫程序的時候經常要定義這樣一個數組,要前面程序運行后才能知道數組的大小,然而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實現不定長數組的示例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

双江| 扶沟县| 崇仁县| 萝北县| 秦皇岛市| 松滋市| 讷河市| 霍邱县| 双流县| 邛崃市| 贵南县| 古蔺县| 龙川县| 齐河县| 枣强县| 台中市| 山丹县| 江永县| 揭东县| 时尚| 禹城市| 固原市| 屏山县| 颍上县| 水富县| 临邑县| 镇雄县| 安仁县| 綦江县| 横山县| 江山市| 尼木县| 敦煌市| 明星| 玉屏| 斗六市| 成都市| 金阳县| 济宁市| 丘北县| 莱西市|