C++如何获取并输出字符数组的地址

在C++中,可以使用指针来获取和输出字符数组的地址。

以下示例代码演示了如何实现:

#include <iostream>

int main() {
    char arr[20] = 'Hello, world!'; // 定义并初始化数组

    char* ptr = arr; // 将数组的首地址赋给指针

    std::cout << '字符型数组的地址: ' << static_cast<void*>(ptr) << std::endl;

    return 0;
}

代码解释:

  1. char arr[20] = 'Hello, world!';:定义一个长度为20的字符数组 arr,并初始化为 'Hello, world!'。
  2. char* ptr = arr;:定义一个字符指针 ptr,并将数组 arr 的首地址赋给它。这是因为数组名本身就代表数组首元素的地址。
  3. std::cout << '字符型数组的地址: ' << static_cast<void*>(ptr) << std::endl;:使用 std::cout 输出字符数组的地址。
    • static_cast<void*>(ptr):将指针 ptr 的类型转换为 void* 类型。这是因为直接输出指针类型可能会被编译器解释为输出字符串,导致结果不正确。

总结:

通过以上步骤,我们成功获取了字符数组的地址并将其输出。需要注意的是,在输出地址时,我们需要使用 static_cast<void*> 进行类型转换,以确保地址被正确地输出。

C++如何获取并输出字符数组的地址

原文地址: https://www.cveoy.top/t/topic/b6nZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录