C语言 指针二维数组怎么初始化

1、数组指针初始化方法:

int (*p)[4];

char a[3][4];

p=a;

p=&a[0];

p=a+1;

p=&a[1]; //都正确

p=a[0]; //错误

p=a[1]; //错误。

2、首先,指针p表示的是,指向一个含有4个元素的一维数组的指针,因此,必须把一个含有4个元数的数组的地址赋给指针p才会正确。因为二维数组名a,其实就是&a[0],表示二维数组第一行的行指针,这一行包含有4个元素,因此他就是一个含有4个元素的一维数组的指针,是正确的赋值。同理a+1是与&a[1]等价的,也就是表示的是二维数组第行的的行指针,同理a[0]是错误的,因为a[0]是指的第一行第一个元素的地址,也就是&a[0][0],他只含有一个元素,不是一个数组的地址,所以错误

不是inta[] ? 而是例如int a[10]这种。括号内一定要有个常量数字。

我们可以这样定义

#define N 5

int a[N]

这表明了数组名为a;数组有5个元素;分别是a[0]到a[4];

对于数组来说;数组是变量的集合,因此数组也具有与变量相同的数据类型和储存类型。数组的类型就是它所有的变量的类型。在定义数组时,应在数组名前对数组的类型加以确定。如上面的int a[10];则表明了数组内元素均为整形。

所有当表示浮点型可以定义为例如float a[10]。 举例如下:

扩展资料

数组名是由用户命名的C语言标识符,要遵循标识符命名规则。数组名表示数组存储区域的首地址。数组的首地址也就是第一个元素的地址。数组名是一个地址常量,不能对它赋值。

数组名后是由方括号括起来的常量表达式,不能使用其他括号

本文来自作者[闾丘焕焕]投稿,不代表溟宇号立场,如若转载,请注明出处:https://gumingyu.com/changshi/202508-19620.html

(11)
闾丘焕焕的头像闾丘焕焕签约作者

文章推荐

发表回复

作者才能评论

评论列表(3条)

  • 闾丘焕焕的头像
    闾丘焕焕 2025年08月23日

    我是溟宇号的签约作者“闾丘焕焕”

  • 闾丘焕焕
    闾丘焕焕 2025年08月23日

    本文概览:1、数组指针初始化方法:int (*p)[4];char a[3][4];p=a;p=&a[0];p=a+1;p=&a[1]; //都正确p=a[0]; //...

  • 闾丘焕焕
    用户082306 2025年08月23日

    文章不错《C语言 指针二维数组怎么初始化》内容很有帮助