int (*n)[3];         
n=&m[i];

其中m是一个二维数组,具有3列。 有人可以告诉我为什么必须使用符号。 我的意思是m [0]将给出第0个数组的地址,m [1]将给出第一个数组的地址。 为什么我们需要那个并签名呢? 它显示来自无效指针类型的分配。

我是C编程的新手,请帮助。

===============>>#1 票数:2

&字符是地址运算符,它返回指向表达式中值的指针,在您的情况下,它返回指向m[i]数组的指针。

您需要使用它,因为否则,如果仅使用简单的m[i] ,数组将衰减为指向第一个元素的指针,该指针的类型为int *

  ask by ps3790 translate from so

未解决问题?本站智能推荐:

1回复

指向数组的指针

我找到了一个指向数组的指针的例子,这对我来说没有多大意义,我想知道是否有人可以帮助我? 我不确定第三行p [3] = 1的工作方式以及如何导致a [3] =6。感谢您的提前帮助。
10回复

指向数组的指针

我想知道,你能指出一个数组中的一组变量吗? 像这样 所以你可以说...... 和 和*指针的长度 好 让我解释一下我想要完成的事情,也许这会让我有所了解。 我想将一个完整的文件读入一个缓冲区,但我想要一块一块地完成。 将一个小数组传递给read()然后
2回复

指向整数的指针数组

我正在尝试对整数指针数组进行排序(而不是整数数组本身) 但是,当我尝试初始化指向整数数组中整数地址的指针数组时,我的程序崩溃了。 我的程序在res[i] = &(arr[i]);崩溃res[i] = &(arr[i]);
3回复

Memsetting指向数组的指针

我有一个指向数组的指针。 我知道该数组可以容纳多少个项目,但是每个项目的长度是动态的。 那么在这种情况下,如何memset()数组。 我也想为每个项目分配内存。 这个怎么做?
3回复

指向数组中值的指针?

所以我需要在const char数组中有一个指向值的指针。 但是我不能完全没有错误地运行它。 这是代码。 编辑-很抱歉没有提及错误。 问题是,根据放置不同的星号和“&”号的位置,我会遇到很多不同的错误。 没有一个特定的错误。 我得到的最常见的一个说:“从'const char'
1回复

反转指向数组的指针

我有一个指向数组的简单指针,我想反转该数组,这是我写的代码: 如您所见,我使用此功能: 我要获取数组的长度,这是我的小主 这是输出: 现在,我尝试仅打印值,因此在str_reverse的while循环中,我注释了这两行: 这是输出: 那很好! 但
2回复

指向数组的C指针

我有一个大小为240x320字节的数组,指向该缓冲区的指针存储在内存地址0xE30014中。 我试图定义如下: 因为我希望能够以这种方式对数组建立索引: 但是,这引发了一个错误,即数组不是合法的左值。 我想知道当前定义有什么问题吗? 任何帮助深表感谢。
3回复

指向数组的指针的地址

下面是二维数组的示例。 如果我写p = &s[0]; 没有错误。 但如果我写p = s[0]; 有一个错误,即使&s[0]和s[0]将给出相同的地址。 请告诉我为什么会有不同之处,即使两者都给出相同的地址。
5回复

递增指向数组的指针

我在HSW上遇到了这个程序: 我不完全了解循环。 假设内存是字节可寻址的,并且每个整数占用4字节的内存,并且说我们将40字节的内存分配给指针p从地址0到39 。 现在,据我了解,指针p最初包含值0 ,即第一个内存位置的地址。 在循环中,将位移添加到指针以访问后续整数。 我不
1回复

指向数组混乱的指针

根据定义,它是一个指向数组的指针变量。 我的代码打印三个元素数组的值。 我的问题,为什么使用printf("Value at %p = %d\\n", ptr2arr +i, *(ptr2arr[0]+i)); 和错误的结果,除了使用printf("value at %p =%d\\n