c 一,二,三维数组的定义和赋值

1. 定义数组必须指定数组的大小,也就是用多少存储空间来存储此数组

2.定义数组必须用数组的标准格式定义:数组名+下标的形式

3.只有字符串可以用指针来定义

4.可以把c 中一切数和struct  理解为char 数组

比如int  就是4字节的char数组


#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include   //v4l2 头文件
#include 
#include 
#include 

int main(void){
	
//	char *q={1,2,3};      这种用指针定义数组是错误的,指针只能定义字符串数组
	char *q="1234";       //只有字符串可以用指针定义
	
     
	 char i1[10];
	 i1[2]=1;
	 *(i1+3)=8;     //1+3 列
	
 // 	printf("%d\n", i1[3]);
	
	char i2[5][3]={};

	
	i2[0][0]=1;
	i2[1][1]=2;
	
	*((*i2)+2)=3;             //表示1排2+1列
	*(*(i2+4)+1)=4;           //表示1+4排1+1列
	
	
	for(int a=0;a<5;a++){
		for(int b=0;b<3;b++){
	//		printf("%d ",i2[a][b]);
		}
	//	printf("\n");
	}
	
	
	char i3[2][5][3]={};       //可以把i3 理解为[2]的指针
	
	i3[0][1][2]=1;             
	
	*(*(*(i3+1)+2)+2)=9;       //指针赋值: i3+1 指的是[2],中间的*+2=[5],外围的*+2=[3]
	
	char o[3]={1,2,3};
	memcpy(&(i3[1][3][0]),o,3);  //数组赋值
	
	
	for(int a=0;a<2;a++){
		for(int b=0;b<5;b++){
			for(int c=0;c<3;c++){
			 printf("%d ",i3[a][b][c]);
			}
			printf("\n");
		}
		printf("\n");
	}
	

   
	
	return 0;
}

你可能感兴趣的:(c语言,开发语言)