相关疑难解决方法(0)

将3维数组传递给C中的函数

我试图将3维数组传递给函数.我得到了这个数组的贬值

char cube[N][N][N];
Run Code Online (Sandbox Code Playgroud)

它的大小(N)是常数.
我想将它传递给一个函数,这样我就可以在函数中处理数组并更改它,而无需每次调用​​复制整个数组.

我实际上想要将指针传递给数组的开头,并能够将一些信息放入函数中的数组中.

谢谢您的帮助.

c function multidimensional-array

2
推荐指数
1
解决办法
4838
查看次数

C++:如果指针int的大小只有4,它如何容纳数组?

看看这个节目.ptr如何获取数组中的所有内容?我有点困惑.

  #include <stdio.h>
    int main()
    {
       int arr[] = {10, 20, 30, 40, 50, 60};
       int *ptr = arr;

       // sizof(int) * (number of element in arr[]) is printed
       printf("Size of arr[] %d\n", sizeof(arr));

       // sizeof a pointer is printed which is same for all type 
       // of pointers (char *, void *, etc)
       printf("Size of ptr %d", sizeof(ptr));
       return 0;

}
Run Code Online (Sandbox Code Playgroud)

c++

2
推荐指数
1
解决办法
74
查看次数

取消引用数组地址不起作用?

考虑以下代码:

int myArray [3] = {1, 2, 3};

std::cout << myArray << "\n"; // 0x22ff24
std::cout << &myArray << "\n"; // 0x22ff24
std::cout << *myArray << "\n"; // 1
std::cout << *(&myArray) << "\n"; // 0x22ff24
Run Code Online (Sandbox Code Playgroud)

为什么底部语句不给1,就像第三个语句一样?如果myArray等于&myArray,为什么*myArray不等于*(&myArray)?

c++ arrays

2
推荐指数
1
解决办法
81
查看次数

这些陈述都会返回一个地址吗?

说你在C中有一个字符数组.像这样:

char array[];
Run Code Online (Sandbox Code Playgroud)

现在,下面的哪些陈述将打印出地址.我知道1)和2)会,但3)还打印出地址吗?

1) printf("Arrays adress is %x\n", array);
2) printf("Arrays adress is %x\n", &array[0]);
3) printf("Arrays adress is %x\n", &array);
Run Code Online (Sandbox Code Playgroud)

c arrays pointers memory-address

0
推荐指数
1
解决办法
104
查看次数

&a,&a [0],c之间有什么区别?

我得到以下代码的输出 - > 6

我对输出感到困惑,因此我更改了一小部分代码并进行了检查.

我将此替换int * ptr=(int*)(a+1)为Not clear语句,我将输出作为 - > 1.怎么样?

我听说&a,a,a[0]都是同一个地址?是什么让它与众不同?

#include<stdio.h>

int main()
{
    int a[] = {1, 2, 3, 4, 5, 6};
    int *ptr = (int*)(&a+1); //NOT CLEAR
    printf("%d ", *(ptr-1) );
    getchar();
    return 0;
} 
Run Code Online (Sandbox Code Playgroud)

c arrays pointers sizeof

0
推荐指数
1
解决办法
2759
查看次数

为什么A [0],&A和*A的值输出相同?

我正在做一个小实验.

#include<cstdio>
#include<iostream>
using namespace std;
int main()
{

  int A[5][5];
  cout<<A[0]<<"  "<<&A<<"   "<<*A;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

它为所有情况打印相同的值.有人可以解释为什么会这样吗?

c++

-1
推荐指数
1
解决办法
390
查看次数