Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++ char*

作者:遥岚月刹   发布日期:2026-01-27   浏览:105

#include <iostream>
#include <cstring>

int main() {
    // 定义一个字符指针,指向一个字符串常量
    const char* str1 = "Hello, World!";
    std::cout << "str1: " << str1 << std::endl;

    // 动态分配内存并复制字符串
    char* str2 = new char[20];
    strcpy(str2, "C++ Programming");
    std::cout << "str2: " << str2 << std::endl;

    // 修改动态分配的字符串
    strcat(str2, " is fun!");
    std::cout << "Modified str2: " << str2 << std::endl;

    // 释放动态分配的内存
    delete[] str2;

    // 使用字符数组代替字符指针
    char str3[20] = "Initial String";
    std::cout << "str3: " << str3 << std::endl;

    // 修改字符数组的内容
    strcpy(str3, "Changed String");
    std::cout << "Modified str3: " << str3 << std::endl;

    return 0;
}

解释说明:

  1. *`const char str1 = "Hello, World!";`**

    • 这里定义了一个指向字符串常量的字符指针 str1。这个字符串是不可修改的,因为它是常量。
  2. *`char str2 = new char[20];`**

    • 这里动态分配了20个字符的空间,并将指针 str2 指向这块内存。使用 strcpy 将字符串 "C++ Programming" 复制到这块内存中。
  3. strcat(str2, " is fun!");

    • 使用 strcat 函数将另一个字符串连接到 str2 的末尾。注意,在使用 strcat 之前,确保目标字符串有足够的空间来容纳新添加的内容。
  4. delete[] str2;

    • 动态分配的内存需要手动释放,以避免内存泄漏。delete[] 用于释放通过 new[] 分配的数组。
  5. char str3[20] = "Initial String";

    • 这里定义了一个字符数组 str3,并初始化为 "Initial String"。字符数组在栈上分配,不需要手动释放。
  6. strcpy(str3, "Changed String");

    • 使用 strcpy 修改字符数组的内容。注意,字符数组的大小必须足够大以容纳新的字符串内容。

以上代码展示了如何使用 char* 和字符数组来处理字符串,并解释了相关操作的注意事项。

上一篇:ffmpeg c++

下一篇:c++ usleep

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++格式化字符串

c++ orm框架

c++ random函数用法

队列c++

c++freopen怎么用

c++virtual

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站