0基础学习字符字串

1天4更不会累~

在 C++ 语言中,字符和字符串是非常重要的数据类型。以下是关于字符和字符串的相关知识:

  1. 字符(Char): char 是 1 字节长的基本数据类型,用于存储 ASCII 码字符。在 C++ 中,可以用单引号来表示字符,例如:
char ch = 'A';

  1. 字符串(String): 在 C++ 中,字符串是 char 类型的数组,其中最后一个元素是 '\0',表示字符串的结束。以下是一些关于字符串的示例:
char str1[] = "Hello World!"; // 定义一个字符串
char str2[10]; // 定义一个空的字符串
str2[0] = 'H'; // 向 str2 中添加字符
str2[1] = 'i'; // 向 str2 中添加字符
str2[2] = '\0'; // 在 str2 的结尾添加 '\0'

  1. 字符串相关函数: C++ 中还有许多有用的字符串相关函数,例如 strlen() 可以获取字符串的长度,strcpy() 可以复制一个字符串到另一个字符串中,strcat() 可以将两个字符串连接在一起,strcmp() 可以比较两个字符串是否相等等等。
char str1[] = "Hello";
char str2[] = "World";
char str3[12];
int len;

// 复制 str1 到 str3
strcpy(str3, str1);
cout << "strcpy(str3, str1) : " << str3 << endl;

// 连接 str1 和 str2
strcat(str1, str2);
cout << "strcat(str1, str2) : " << str1 << endl;

// 获取 str1 的长度
len = strlen(str1);
cout << "strlen(str1) : " << len << endl;

// 比较 str1 和 str2
if(strcmp(str1, str2) == 0)
    cout << "str1 和 str2 相等" << endl;
else
    cout << "str1 和 str2 不相等" << endl;

懂了吧......

什么?

什么?

没懂?

(水一点换行)

还是那句话:你必须学费

C++中的字符串是一组字符数组,可以使用字符串类(std::string)或字符数组来表示。

可以使用以下语法定义字符串:

char str[] = "Hello World";
std::string str = "Hello World";

C++中的字符串支持许多操作,例如:

  • 连接字符串:使用加号操作符(+)或append()函数。
  • 截取子字符串:使用substr()函数。
  • 获取字符串长度:使用size()或length()函数。
  • 比较字符串:使用compare()函数。
  • 查找子字符串:使用find()或rfind()函数。

另外,字符串中的字符可以使用下标操作符([])或at()函数进行访问。

好的,现在开始来一点提升

在 C++ 语言中,字符串提升指的是将字符数组或字符指针作为参数传递给函数时,自动将其转换为指向其首元素的指针。

例如:

char str[] = "Hello";
printf("%d", sizeof(str)); // 输出 6

在这个例子中,str 是一个字符数组,它包含 6 个元素(包括一个空字符作为结尾)。当我们将 str 作为参数传递给函数时,它会被自动转换为指向其首元素的指针。

void foo(char* s) {
    printf("%d", sizeof(s)); // 输出 4 或 8,取决于指针的大小(32 位或 64 位系统)
}

foo(str);

在这个例子中,我们将 str 作为参数传递给 foo 函数。虽然 foo 函数声明的参数类型是 char*,但我们实际传递的是 str 数组,它会被自动转换为指向其首元素的指针。因此,sizeof(s) 的值取决于指针的大小,而不是 str 数组的大小。

好了好了,我的手d了(;´д`)ゞ

再见......

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值