C++如何获取并输出字符数组的地址
C++如何获取并输出字符数组的地址
在C++中,可以使用指针来获取和输出字符数组的地址。
以下示例代码演示了如何实现:
#include <iostream>
int main() {
char arr[20] = 'Hello, world!'; // 定义并初始化数组
char* ptr = arr; // 将数组的首地址赋给指针
std::cout << '字符型数组的地址: ' << static_cast<void*>(ptr) << std::endl;
return 0;
}
代码解释:
char arr[20] = 'Hello, world!';:定义一个长度为20的字符数组arr,并初始化为 'Hello, world!'。char* ptr = arr;:定义一个字符指针ptr,并将数组arr的首地址赋给它。这是因为数组名本身就代表数组首元素的地址。std::cout << '字符型数组的地址: ' << static_cast<void*>(ptr) << std::endl;:使用std::cout输出字符数组的地址。static_cast<void*>(ptr):将指针ptr的类型转换为void*类型。这是因为直接输出指针类型可能会被编译器解释为输出字符串,导致结果不正确。
总结:
通过以上步骤,我们成功获取了字符数组的地址并将其输出。需要注意的是,在输出地址时,我们需要使用 static_cast<void*> 进行类型转换,以确保地址被正确地输出。
原文地址: https://www.cveoy.top/t/topic/b6nZ 著作权归作者所有。请勿转载和采集!