C言語学習ノート:18_配列→2 D配列

2759 ワード

/*
 * 18_  -    .c
 *
 *  Created on: 2015 7 6 
 *      Author: zhong
 */
#include 
#include 
/**
 *     :
 *             ;
 *     :     2  ,   5 。
 *   	                        int ages[5]={18,19,20,18,19};
 *   	                       int classes[2]={ages,ages};
 *   	  , c   ,               。
 *
 *   	int classes[2][50]={{18,19,20,18,19},{18,19,20,18,19}};
 *   	           ,        。
 *
 *         :
 * 		float a[3][4]; //3 ,4  3X4   
 * 		c                ,                    ,
 * 		            。
 *
 *	        :
 *	int a[3][4]={{1,2,3,4},{1,2,3,4},{1,2,3,4}};//             
 *	int a[3][4] ={{1},{1},{1}}; //               ,              0
 *		1 0 0 0
 *		1 0 0 0
 *		1 0 0 0
 *	int a[3][4]={{1},{1,2},{1,2,3}}; //         
 *		1 0 0 0
 *		1 2 0 0
 *		1 2 3 0
 *
 *   int a[][4]={{1,2,3,4},{1,2,3,4},{1,2,3,4}};//         ,          ,      2    。
 *   int a[][4]={{1,2,3,4},{ },{}};//       
 *
 * 		                   ,           1    ,      2    
 * 		           ,       ,            。
 * 		     ,         ,     ,    。       。
 *
 *          :
 *      [  ][  ];
 *   	  int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
 *   	a[0][0]; //               1
 *   	a[0][3]  //          4    4
 *   	a[1][0] //          1    5
 *   	//       ,       ,          -1。           ,          ,    
 *
 */
/**
 *                ,          
 *   a={{1,2,3},{4,5,6}};  --> b={{1,4},{2,5},{3,6}};
 */
void swap_row_column() {
	int a[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } };
	int b[3][2], i, j;

	printf("   
"); for (i = 0; i < 2; i++) { //i < 2; 2 a[2][3] for (j = 0; j < 3; j++) { printf("%5d", a[i][j]); // a b[j][i] = a[i][j]; // a b a[0][2] -->b[2][0] } printf("
"); } printf("
"); for (i = 0; i < 3; i++) { for (j = 0; j < 2; j++) { printf("%5d", b[i][j]); // b } printf("
"); } /* * output: 1 2 3 4 5 6 1 4 2 5 3 6 */ } // , , , void array_max_() { int a[3][4] = { { 64, 76, 32, 12 }, { 45, 32, 1, 4 }, { 78, 3, 323, 5 } }; // int i, j; //c ,for 。 b, int row = 0, colum = 0; // int max = a[0][0]; // max , for (i = 0; i < 3; i++) { // a[3][4] [3], for (j = 0; j < 4; j++) { // n n if (a[i][j] > max) { max = a[i][j]; // , row=i; colum=j; } } } printf(" :%d, (%d,%d)
",max,row,colum); //output: :323, (2,2) } int main18() { // swap_row_column(); array_max_(); return 0; }