1. 定义数组必须指定数组的大小,也就是用多少存储空间来存储此数组
2.定义数组必须用数组的标准格式定义:数组名+下标的形式
3.只有字符串可以用指针来定义
4.可以把c 中一切数和struct 理解为char 数组
比如int 就是4字节的char数组
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <linux/videodev2.h> //v4l2 头文件
#include <string.h>
#include <sys/mman.h>
#include <linux/fb.h>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;
}