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;
}