最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C實現(xiàn)不定長數(shù)組的示例

 更新時間:2018年07月19日 14:24:11   作者:蔡松豆  
今天小編就為大家分享一篇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只是遇到回車符的時候結束,并沒有把回車符輸入,因此輸入流中還有一個回車符
 getchar();//把輸入流中的回車符讀走
 int *p;
 p = (int*)malloc(m*(sizeof(int)));//動態(tà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);//釋放內存
 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只是遇到回車符的時候結束,并沒有把回車符輸入,因此輸入流中還有一個回車符
 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]);  //輸出每個元素及地址,每行的列與列之間的地址時連續(xù)的,行與行之間的地址不連續(xù) 
  }
  printf("\n");
 }
 for (i = 0; i < m; i++) free(p[i]);  
 free(p);
 getchar();//讓程序停頓,好看到輸出
 return 0;
}

以上這篇C實現(xiàn)不定長數(shù)組的示例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • C程序讀取鍵盤碼的方法

    C程序讀取鍵盤碼的方法

    這篇文章主要介紹了C程序讀取鍵盤碼的方法,運行時可通過鍵盤按鍵獲取其對應的鍵盤碼,文章最后附帶了鍵盤碼與按鍵的對照表,需要的朋友可以參考下
    2014-09-09
  • C語言詳細分析講解關鍵字const與volatile的用法

    C語言詳細分析講解關鍵字const與volatile的用法

    在C語言中,我們經(jīng)常會見到const和volatile這兩個關鍵字,那么我們今天就來介紹下這兩個關鍵字,提起?const?關鍵字,我們可能首先想到的是經(jīng)過它修飾的變量便是常量了。其實我們這種想法是錯誤的,其實?const?修飾的變量是只讀的,其本質還是變量
    2022-04-04
  • OpenGL繪制三次Bezier曲線

    OpenGL繪制三次Bezier曲線

    這篇文章主要為大家詳細介紹了OpenGL繪制三次Bezier曲線,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • c++學習之構造函數(shù)

    c++學習之構造函數(shù)

    類多么重要我就不多說了,只講講學習,因為個人認為類的學習無論從概念的理解還是實際代碼的編寫相對其他C兼容向的代碼都是比較有難度的, 對于以前學C 的人來說這才是真正的新概念和內容,STL其實還比較好理解,不就是一個更大的函數(shù)庫和代碼可以使用嘛。
    2015-06-06
  • 簡單分析C語言中指針數(shù)組與數(shù)組指針的區(qū)別

    簡單分析C語言中指針數(shù)組與數(shù)組指針的區(qū)別

    這篇文章主要介紹了C語言中指針數(shù)組與數(shù)組指針的區(qū)別,是C語言入門學習中的基礎知識,需要的朋友可以參考下
    2015-11-11
  • C++實現(xiàn)LeetCode(45.跳躍游戲之二)

    C++實現(xiàn)LeetCode(45.跳躍游戲之二)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(45.跳躍游戲之二),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07
  • C++中箭頭運算符的含義與用法講解

    C++中箭頭運算符的含義與用法講解

    今天小編就為大家分享一篇關于C++中箭頭運算符的含義與用法講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • 如何在c++中實現(xiàn)字符串分割函數(shù)split詳解

    如何在c++中實現(xiàn)字符串分割函數(shù)split詳解

    這篇文章主要給大家介紹了關于如何在c++中實現(xiàn)字符串分割函數(shù)split的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用c++具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-11-11
  • C/C++詳解實現(xiàn)二層轉發(fā)

    C/C++詳解實現(xiàn)二層轉發(fā)

    數(shù)據(jù)鏈路層是開放系統(tǒng)互連 (OSI) 模型中的第二層,該層用于通過 LAN 等單一網(wǎng)絡進行通信的節(jié)點,第二層數(shù)據(jù)包不能從一個網(wǎng)絡傳輸?shù)搅硪粋€網(wǎng)絡。而二層轉發(fā)是根據(jù)報文的目的MAC直接進行轉發(fā),轉發(fā)過程中不用對報文的頭部做任何的修改
    2022-05-05
  • C++設計模式之單例模式

    C++設計模式之單例模式

    這篇文章主要介紹了C++設計模式之單例模式,本文同時給出了4種單例模式的實現(xiàn)代碼,需要的朋友可以參考下
    2014-09-09

最新評論

河池市| 济源市| 平邑县| 垦利县| 乐清市| 府谷县| 呼图壁县| 洛宁县| 揭西县| 富顺县| 崇阳县| 青海省| 红安县| 霍州市| 蓬莱市| 彝良县| 岳阳县| 鄂尔多斯市| 洛川县| 舒城县| 潮安县| 临清市| 武功县| 孝义市| 新闻| 贺兰县| 洛扎县| 汉中市| 竹溪县| 松江区| 石林| 紫金县| 连州市| 三明市| 莱阳市| 博客| 广南县| 天峨县| 晋江市| 兴仁县| 新余市|