当前位置:首页 » 编程语言 » c语言指针与二维数组

c语言指针与二维数组

发布时间: 2022-07-16 20:37:22

1. c语言 指针与二维数组

这已经说得很明白了,记住就是了。p=a[i]就是取a[i][0]的地址,赋值给p。

2. C语言指针与二维数组

a是二维数组名,其字面值是该数组的起始地址,该地址同时也是一维数组a[0]的起始地址

所以a,*a,a[0],&a[0]的字面值都相同,a[0][0]就是首个元素


剩下的几行输出同理,无非就是行指针偏移的+1是以第二维的大小移动的而已

3. C语言指针及二维数组

一、p是存放float型数据的地址,而11是整型数据,当然不能做比较
二、因为pend也是地址
如:
p指向地址0x0012FF60 pend = p的话,pend也为0x0012FF60
pend = p+1,则p指向0x0012FF64 因为float占4个byte
pend=p+2 0x0012FF68
...
三 传入*a相当于传入&a[0][0]的地址,即二维数组a的地址
相当于
float* p = &a[0][0];
aver( p, 12 );
p是地址,*p则取到该地址里存地数据,即该程序的中的65
*(p+1)则会取到67 --二维数组是按行存储
...
以此类推
p是个一级float型指针,所以**p显然不合逻辑,不合语法

4. C语言怎么用指针代替二维数组

设二维数组为typename
a[M][N],则指向该数组的指针为typename
(*p)[N]
=
a;这样就可以用p来代替二维数组了。

5. C语言中关于二维数组和指针的问题

*(p+1)单独使用时表示的是第 1 行数据,放在表达式中会被转换为第 1 行数据的首地址,也就是第 1 行第 0
个元素的地址,因为使用整行数据没有实际的含义,编译器遇到这种情况都会转换为指向该行第 0 个元素的指针;就像一维数组的名字,在定义时或者和
sizeof、& 一起使用时才表示整个数组,出现在表达式中就会被转换为指向数组第 0 个元素的指针

6. c语言指向指针的指针,与二维数组

二维数组指针和指向指针的指针不是一回事
int
(*p)[3]
用于指向列数为3的二维数组
int
**p
不能用于二维数组

7. 如何在c语言二维数组中使用指针

程序中有些问题:
1、函数的定义有错误(参数格式不对);
2、程序中没有调用函数(或者说是调用格式有误)
3、函数中的处理逻辑需要修改(一步一步来,这样容易处理和理解)。
你定义的函数是使用数组作为参数的,数组名本身就是个地址(相当于指针)。
下面在手机上用易历知食软件里的微C程序设计来演示修正后的代码并运行程序,供参考。
手机上修正后的代码如下图:
手机上运行的效果如下图所示:

8. C语言如何定义指针指向字符型二维数组

使用指针变量访问二维数组的任意一个元素的方法:

1.使用列指针:定义一个列指针p,让它指向二维数组的第0个元素

int a[3][4];

int *p;

p=&a[0][0];

//因为a[0]是第0行的数组名,所以p=&a[0][0]相当于p=a[0],因为a[i][j]前面共有i*4+j个元素

该二维数组的任意i行j列元素可表示为*(p+i*4+j)。

2.使用行指针:定义一个行指针p,让它指向二维数组的第0行

int a[3][4];

int (*p)[4];

p=a; //也可以为p=&a[0];

其中* ( *(p+i)+j)表示任意一个i行j列的元素。

(8)c语言指针与二维数组扩展阅读:

数组的使用规则:

1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。

2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1;请注意:在C、C#语言中是这样,但并非在所有涉及数组的地方都这样,数据库是从1开始。

3.如不给可初始化的数组赋初值,则全部元素均为0值。

4.如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。

网络-数组

热点内容
bs源码 发布:2025-02-01 16:51:52 浏览:567
百度云zip怎么解压 发布:2025-02-01 16:31:59 浏览:566
pmc密码是什么意思 发布:2025-02-01 16:28:49 浏览:783
苹果手表和安卓手表哪个好用 发布:2025-02-01 16:28:07 浏览:582
上海电信上传 发布:2025-02-01 16:22:10 浏览:982
有什么好的双u主板配置 发布:2025-02-01 16:18:17 浏览:177
编程漩涡 发布:2025-02-01 16:01:51 浏览:328
司机会所访问 发布:2025-02-01 15:54:11 浏览:780
家用电脑改成服务器并让外网访问 发布:2025-02-01 15:30:23 浏览:355
javac工资 发布:2025-02-01 15:24:28 浏览:23