c語言二維數組初始化
❶ c語言 怎麼把一個二維數組初始化為空
利用給數組賦值時未賦值部分C系統自動賦值為0是一種方法。
還可以利用memset()函數, 它可以一位元組一位元組地把整個數組設置為一個指定的值。 memset()函數在string.h和mem.h頭文件中聲明,它把數組的起始地址作為其第一個參數,第二個參數是設置數組每個位元組的值,第三個參數是數組的長度(位元組數,不是元素個數)。其函數原型為:
void *memset(void*,int,unsigned);
其中void*表示起始地址,int 表示要填充的值,最後的unsigned表示填充的位元組數。
例如:
#include<string.h>
void main()
{
int a[10][20]={0}; //方法一,所有初始化為0
int *p[10][20]={NULL};
char c[10][20]={'\0'};
double b[50][200]};
memset(b,0,sizeof(b)); //方法二,所有初始化為0
}
❷ 二維數組的聲明方式有三種
數組的4種聲明方式:
1.先聲明再初始化
例如:
//1.聲明
int[] nums;
//初始化
nums = new int[5];
2.聲明並初始化
例如:
//2.聲明、初始化
int[] nums = new int[10];
3.創建數組同時賦值
例如:
//3.創建數組同時賦值
String[] names=new String[]{"大名","小米","夏雨荷"};
int[] ages=new int[]{21,22,21,56,13};
for (int i = 0;i < names.length;i++){
System.out.prinrln(names[i]);
}
for (int i = 0;i < ages.length;i++){
System.out.prinrln(ages[i]);
}
4.創建同時賦值,簡寫,不能寫成兩條語句
例如:
//4.創建同時賦值,簡寫,不能寫成兩條語句
String[] cities = {"上海","北京"};
(2)c語言二維數組初始化擴展閱讀:
數組(Array)是有序的元素序列。若將有限個類型相同的變數的集合命名,那麼這個名稱為數組名。組成數組的各個變數稱為數組的分量,也稱為數組的元素,有時也稱為下標變數。用於區分數組的各個元素的數字編號稱為下標。數組是在程序設計中,為了處理方便, 把具有相同類型的若干元素按有序的形式組織起來的一種形式。 這些有序排列的同類數據元素的集合稱為數組。
數組是用於儲存多個相同類型數據的集合。
在C語言中, 數組屬於構造數據類型。一個數組可以分解為多個數組元素,這些數組元素可以是基本數據類型或是構造類型。因此按數組元素的類型不同,數組又可分為數值數組、字元數組、指針數組、結構數組等各種類別。
❸ c語言有關二維數組變數初始化
例如對整型二維數組a[3][2]賦值
方法一:
在定義的同時賦值
int a[3][2]={0};//所有數組元素均為0
方法二:
int a[3][2]={1,2,3,4,5,6};//常規的賦值方法
方法三:
int a[3][2]={{1,2},{3,4},{5,6}};//分行的賦值方法
方法四:
int a[3][2]={{1,2},{0},{3}};//部分賦值方法,第一行元素的值分別為1,2,第二行元素值都是0,
第三行第一個元素值為3,第二個元素值為0
方法五:
int a[3][2];/先定義
for(i=0;i<=3;i++) //用雙重for循環賦值,i,j表示二維數組下標
for(j=0;j<=2;j++)
scanf("%d",&a[i][j]);
希望對你有所幫助。
❹ c語言二維數組初始化的三種方式
c語言二維數組初始化的三種方式
int a[3][3]={1,2,3,4,5,6,7,8,9};
int a[3][3]={{1,2,3},{4,5},{7}};
int a[3][3]={0};
❺ C語言 指針二維數組怎麼初始化
Total_FileType[0][typea] = malloc(xxx);
strcpy(Total_FileType[0][typea],newname);
//也可以不申請控制,直接讓數組元素指向數據,同樣適用*提取數據
*(Total_FileType[0][typea])讀不到數據么?