1. 程式人生 > >7、二維陣列

7、二維陣列

二維陣列
#include <stdio.h>

int main(int argc, char const *argv[])
{
	//1.有多少[]就有多少維
	//2.記憶體中沒有多為,都只有一維,多維陣列是特殊的一維陣列
	//3.定義了一個一維陣列a[3],這個一維陣列有3個元素,每個元素int[4]
	//4.a[0],a[1],a[2]就是第0、1、2元素的陣列
	//5.二維陣列,使用者可以理解為m行n列
	int a[3][4]; 
	int i,j;

	for(i=0; i<3; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			a[i]
[j] = num; num++; } } //看方便,寫不方便 int a1[3][4] = { {0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10 , 11} }; int a1[3][4] = {0, 1, 2, 3,4, 5, 6, 7, 8, 9, 10, 11}; //如果定義時,同時初始化,第一個[]可以不寫內容 int a2[][4] = {0, 1, 2, 3,4, 5, 6, 7, 8, 9, 10, 11}; //如果第一個[]不寫,必須初始化 //int a3[][4];//err int
a3[3][4] = {0, 1, 2, 3};//沒有初始化的元素賦值為0 int a4[3][4] = {0};//所有元素初始化為0 return 0; }
#include <stdio.h>

int main(int argc, char const *argv[])
{
	int a[5][10];
	//1.陣列名是常量,不能修改
	//ar = 10;//err

	//2.sizeof(陣列名),測陣列的總大小:int[10] = 5 * 4 * 10 = 200
	printf("sizeof(a) = %lu\n", sizeof(a));

	//3.sizeof(a[0]),測的是第0個元素的大小: int [10] = 4 * 10 = 40
printf("sizeof(a[0]) = %lu\n", sizeof(a[0])); //4.sizeof(a[0][0]),測的是第0行第0列元素的大小,int = 4 printf("sizeof(a[0][0]) = %lu\n", sizeof(a[0][0])); //5.求行數(元素個數):總大小/每個元素的大小 int n = sizeof(a)/sizeof(a[0]); //6.求列數 n = sizeof(a[0])/sizeof(int); printf("n1 = %d\n", n); //7.行*列 n = sizeof(a)/ sizeof(int); printf("n2 = %d\n", n); return 0; }