c 一,二,三维数组的定义和赋值
2023-12-13 17:02:11
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;
}
文章来源:https://blog.csdn.net/m0_59802969/article/details/134913917
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!