當前位置:首頁 » 編程語言 » 定義多維數組c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

定義多維數組c語言

發布時間: 2022-09-20 02:22:38

c語言如何創建多維數組

什麼意思?
能具體點嗎?
其實,和一維的不是一樣的嘛,
多維的,就是將一維的,比如,你建一個一維的長12的整型數組,
完全可以看成是長3寬4的二維數組啊,
如果你想實現動態的話,我想到有二種方法,
一種,你用宏弄一個比較大的數組,然後用變數來標其有效部分.
另一種,可以根據你所要創建的大小動態的malloc.這個,就要先了解要建的大小.如果重新建的話,要free原來的,新分配新的空間.

⑵ C語言多維數組

&multi[0]不等於multi[0],
multi也不等於multi[0],
multi[0]是一維指針。
multi是一個二維指針。
multi[0][0]表示一個具體的int值。
你用%u輸出的結果實際上都是輸出了multi[0][0]的值。

⑶ 如何動態構建多維數組(c語言)

兩種方法:
1.轉化為一維數組申請
2.先申請全部行首指針,再按行逐行申請

1.
a=(int *)malloc(sizeof(int),(unsigned)m*n);
使用的時候就和一般的二維數組一樣。
舉個例子給你:
#include "stdlib.h"
#include "stdio.h"
#include <malloc.h>

int main()
{
int i,j;
int n;//這個就是需要指定的行數
int (*p)[10];

scanf("%d",&n);//取得行數

//動態生成二維數組,指定列數為10,如果想改,自己該裡面
的參數,如果想定義n行2列就為: p=(int (*)[2])malloc(n*2*sizeof(int));
p=(int (*)[10])malloc(n*10*sizeof(int)); //動態申請n行10列的二維數組

for(i=0;i<n;i++)
for(j=0;j<10;j++)
p[i][j]=i*j;

for(i=0;i<n;i++)
{
for(j=0;j<10;j++)
printf("%d,",p[i][j]);

printf("\n");
}
free(p);

return 0;
}

2.
這個也給你舉個例子吧:
#include <stdio.h>
#include <malloc.h>
main()
{
int i = 0;
int j = 0;
int line = 0;
int row = 0;
int **p = NULL;

printf("input the line of the array:\n");
scanf("%d", &line);
printf("input the row of the array:\n");
scanf("%d", &row);

p = (int **)malloc(sizeof(int *) * line);
if (NULL == p)
{
return;
}
for (i = 0; i < line; i++)
{
*(p + i) = (int *)malloc(sizeof(int) * row);
if (NULL == *(p + i))
{
return;
}
}
/*input data*/
for (i = 0; i < line; i++)
{
for(j = 0; j < row; j++)
{
p[i][j] = i + 1;
}
}
/*output data*/
for (i = 0; i < line; i++)
{
for(j = 0; j < row; j++)
{
printf("%d", p[i][j]);
}
}
/*free every line point*/
for (i = 0; i < line; i++)
{
free(*(p + i));
p[i] = NULL;
}

free(p);
p = NULL;
}

第一種方法數組創建和釋放都比較簡單

⑷ C語言多維數組的賦值

循環,或者定義的時候賦值~

⑸ c語言數組定義的幾種方式

數組的定義

數組就是指用於存儲同一類型數據的集合,一個數組實際上就是一連串的變數,數組按照使用可以分為一維數組、二維數組、多維數組

數組定義的方式

數組定義的方式有四種形式,分別是:

(1)類型名[] 數組名;

(2)類型名[] 數組名 = { 初始值列表 };

(3)類型名[] 數組名 = new 類型名[ 數組大小 ];

(4)類型名[] 數組名 = new 類型名[ 數組大小 ] { 初始值列表 };

數據類型:指的是數組元素的數據類型,常見的有整形、浮點型、與字元型等
數組名:是用來統一這組相同數據類型元素的名稱,其命名規則和變數的相同

⑹ C語言的多維數組怎麼嵌套定義,以及怎麼賦值

1、使用malloc函數,先分配第一維的大小,然後再循環分配每一維的大小。

2、常式,分配3行4列二維數組:

#include<stdio.h>
#include<malloc.h>
intmain()
{
int**a;
inti,j;
a=(int**)malloc(sizeof(int*)*3);//為二維數組分配3行
for(i=0;i<3;++i){//為每列分配4個大小空間
a[i]=(int*)malloc(sizeof(int)*4);
}
//初始化
for(i=0;i<3;++i){
for(j=0;j<4;++j){
a[i][j]=i+j;
}
}
//輸出測試
for(i=0;i<3;++i){
for(j=0;j<4;++j){
printf("%d",a[i][j]);
}
printf(" ");
}
//釋放動態開辟的空間
for(i=0;i<3;++i){
free(a[i]);
}
free(a);
return0;
}
/*
輸出:
0123
1234
2345
*/

⑺ C語言多維數組定義與初始化

二維數組定義的一般形式如下:
類型標識符 數組名【常量表達式1】【常量表達式2】;
例如:
int a[2][3];
float b[3][10];
二維數組的初始化有兩種:
(1)分行初始化,如:
static int a[2][3]={{1,2,3,},{4,5,6}};
(2)統一初始化,如:
static int a[2][3]={1,2,3,4,5,6};

⑻ 關於C語言多維數組問題

#include<stdio.h>
void main()
{int i,j,k;
int a[2][2][2]={1,2,3,4,5,6,7,8};
for(i=0;i<2;i++)
for(j=0;j<2;j++)
for(k=0;k<2;k++)
printf("%d",a[i][j][k]);
}

⑼ c語言數組的定義

C語言支持一維數組和多維數組。如果一個數組的所有元素都不是數組,那麼該數組稱為一維數組。

在C語言中使用數組必須先進行定義,一維數組的定義方式為:類型說明符; 數組名 ;[常量表達式]。

其中,類型說明符是任一種基本數據類型或構造數據類型。數組名是用戶定義的數組標識符,方括弧中的常量表達式表示數據元素的個數,也稱為數組的長度。例如:

int a[10]; /* 說明整型數組a,有10個元素 */

float b[10], c[20]; /* 說明實型數組b,有10個元素,實型數組c,有20個元素 */

char ch[20]; /* 說明字元數組ch,有20個元素 */

對於數組類型說明應注意以下幾點:

1、數組的類型實際上是指數組元素的取值類型。對於同一個數組,其所有元素的數據類型都是相同的。

2、數組名的書寫規則應符合標識符的書寫規定。

3、數組名不能與其它變數名相同。例如:

int a;

float a[10];

是錯誤的。

4、方括弧中常量表達式表示數組元素的個數,如a[5]表示數組a有5個元素。但是其下標從0開始計算。因此5個元素分別為a[0], a[1], a[2], a[3], a[4]。

5、不能在方括弧中用變數來表示元素的個數,但是可以是符號常數或常量表達式。例如:

#define FD 5

// ...

int a[3+2],b[7+FD];

是合法的。但是下述說明方式是錯誤的。

int n=5;

int a[n];

6、允許在同一個類型說明中,說明多個數組和多個變數。例如:

int a,b,c,d,k1[10],k2[20];

(9)定義多維數組c語言擴展閱讀:

C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。[1]目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。

C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。

其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

⑽ 在C語言中如何運用malloc()函數定義多維數組

多唯數組只是操作內存的一種方式,可以這么用:
先計算你的多位數組占的空間,比如char a[3][2]那麼需要6個char的空間
那麼先申請一段長度6的空間,

char *p = (char*)malloc(sizeof(char));

然後就可以使用指針P進行數組操作了比如:p[0][1]

記得用完要釋放哦: free(p);