c++ - 如何使用指针来引用数组中元素的地址?

标签 c++ c arrays pointers

<分区>

我们刚刚开始复习我的 C/C++ 类中的指针,但我对它们的工作方式有点困惑。我遇到了这个问题:

Assume you have declared a multi-dimensional array char ma[5][30]. What is the address of the element "ma[0][0]"? Use two (2) different ways to assign the address to a pointer variable, p. (Do not give a concrete address for ma[0][0] - this will vary each time the program is run, based on the memory allocated.)

我知道这个社区对提供家庭作业问题的“答案”有多不满。我不需要答案,但希望有人能向我解释如何使用指针获取数组中元素的地址?

最佳答案

两种方式是

char* p1 = (char*)ma;
char* p2 = &ma[0][0];

第一个有效,因为“ma”已经是指向内存中存储数组的位置的指针。

第二个使用寻址运算符 (&)。 &ma[0][0] 翻译成“ma的地址,元素0,0”

关于c++ - 如何使用指针来引用数组中元素的地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18859408/

相关文章:

C++11 自动转换

c++ - FAT 文件系统中的簇、页、扇区

c - 如何从C中的单个文件中提取多个字符串

c - 系统string2.h头文件优化时产生编译错误

php - PHP比较和填充不同长度的数组

c++ - 单个可执行文件和不同的服务

c++ - 将内存数据 ptr 映射到 qt 输入字段

c - 为什么在 c 中使用带有变量的 sqrt 函数时出现错误?

ruby - 完全像示例字符串一样对数组进行排序

javascript - 数组到字符串转换,Php到js