C 多维数组、特殊字符和字符串函数详解

C 多维数组、特殊字符和字符串函数详解 二维数组二维数组也称为矩阵具有行和列的结构。代码语言cAI代码解释int matrix[2][3] { {1, 4, 2}, {3, 6, 8} };第一个维度表示行数 2而第二个维度表示列数 3。访问二维数组的元素要访问二维数组的元素您必须指定行和列的索引号。代码语言cAI代码解释printf(%d, matrix[0][2]); // 输出 2更改二维数组中的元素要更改元素的值请参考每个维度的元素索引号代码语言cAI代码解释matrix[0][0] 9;循环遍历二维数组要循环遍历多维数组您需要为数组的每个维度设置一个循环。代码语言cAI代码解释for (int i 0; i 2; i) { for (int j 0; j 3; j) { printf(%d\n, matrix[i][j]); } }C 语言中的特殊字符字符串必须用引号括起来因此 C 语言会误解以下字符串并生成错误代码语言cAI代码解释char txt[] We are the so-called Vikings from the north.;为了避免这个问题可以使用转义字符反斜杠 (\)。转义字符反斜杠会将特殊字符转换为字符串字符\单引号\双引号\\反斜杠\n换行符\t制表符\0空字符以下示例演示了如何使用转义字符代码语言cAI代码解释char txt[] We are the so-called \Vikings\ from the north.; // 使用转义字符插入双引号代码语言cAI代码解释char txt[] It\s alright.; // 使用转义字符插入单引号代码语言cAI代码解释char txt[] The character \\ is called backslash.; // 使用转义字符插入反斜杠其他常用的 C 语言转义字符包括\n换行符将光标移动到下一行\t制表符将光标移动到下一个制表位\0空字符字符串的结束符C 语言中的字符串函数C 语言也提供了许多有用的字符串函数可以用来对字符串进行一些操作。要使用这些函数您必须在程序中包含string.h头文件代码语言cAI代码解释#include string.h获取字符串长度例如要获取字符串的长度可以使用strlen()函数代码语言cAI代码解释char alphabet[] ABCDEFGHIJKLMNOPQRSTUVWXYZ; printf(%d, strlen(alphabet)); // 输出 26我们使用sizeof来获取字符串/数组的大小。请注意sizeof和strlen的行为不同因为sizeof在计数时也包括\0字符代码语言cAI代码解释char alphabet[] ABCDEFGHIJKLMNOPQRSTUVWXYZ; printf(%d, strlen(alphabet)); // 26 printf(%d, sizeof(alphabet)); // 27您应该知道sizeof始终返回内存大小以字节为单位而不是实际的字符串长度代码语言cAI代码解释char alphabet[50] ABCDEFGHIJKLMNOPQRSTUVWXYZ; printf(%d, strlen(alphabet)); // 26 printf(%d, sizeof(alphabet)); // 50连接字符串要连接合并两个字符串可以使用strcat()函数代码语言cAI代码解释char str1[20] Hello ; char str2[] World!; // 连接 str2 到 str1结果存储在 str1 中 strcat(str1, str2); // 打印 str1 printf(%s, str1); // 输出 Hello World!请注意str1的大小应该足够大可以存储组合后的两个字符串在本例中为 20。复制字符串要将一个字符串的值复制到另一个字符串可以使用strcpy()函数代码语言cAI代码解释char str1[20] Hello World!; char str2[20]; // 将 str1 复制到 str2 strcpy(str2, str1); // 打印 str2 printf(%s, str2); // 输出 Hello World!请注意str2的大小应该足够大可以存储复制的字符串在本例中为 20。比较字符串要比较两个字符串可以使用strcmp()函数。如果两个字符串相等则返回 0否则返回一个不为 0 的值代码语言cAI代码解释char str1[] Hello; char str2[] Hello; char str3[] Hi; // 比较 str1 和 str2并打印结果 printf(%d\n, strcmp(str1, str2)); // 返回 0字符串相等 // 比较 str1 和 str3并打印结果 printf(%d\n, strcmp(str1, str3)); // 返回 -4字符串不相等最后为了方便其他设备和平台的小伙伴观看往期文章