相关疑难解决方法(0)

为什么数组的地址等于它在C中的值?

在下面的代码中,指针值和指针地址按预期不同.

但数组值和地址不行!

怎么会这样?

产量

my_array = 0022FF00
&my_array = 0022FF00
pointer_to_array = 0022FF00
&pointer_to_array = 0022FEFC
Run Code Online (Sandbox Code Playgroud)
#include <stdio.h>

int main()
{
  char my_array[100] = "some cool string";
  printf("my_array = %p\n", my_array);
  printf("&my_array = %p\n", &my_array);

  char *pointer_to_array = my_array;
  printf("pointer_to_array = %p\n", pointer_to_array);
  printf("&pointer_to_array = %p\n", &pointer_to_array);

  printf("Press ENTER to continue...\n");
  getchar();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c arrays pointers

179
推荐指数
5
解决办法
7万
查看次数

指向字符数组C++的问题

我有我认为应该是一个非常简单的代码片段,但我无法编译,因为我不明白的原因.

以下简化代码将无法编译:

char buffer[9] = "12345678";
char* pBuffer = &buffer;
Run Code Online (Sandbox Code Playgroud)

编译器(g ++)抛出以下错误:

error: cannot convert 'char (*)[9]' to 'char*' in initialization

C++并不完全是我的"原生"语言,但我看过的每个地方都告诉我这应该有用.非常感谢任何想法或建议.

c++

11
推荐指数
2
解决办法
2353
查看次数

标签 统计

arrays ×1

c ×1

c++ ×1

pointers ×1