`

字符串数组解惑

 
阅读更多

在整型和字符串类型的读取地址的过程中,代码如下所示:

 

int a[2][3] = {{1,2,3}, {4,5,6}};
cout << a << endl;
cout << a[1] << endl;
cout << &a[1][1] << endl;
cout << endl;

char b[3][3] = {{'A','A','A'}, {'B','B','B'}, {'C','C','\0'}};
cout << b << endl;
cout << &b[1] << endl;
cout << &b[1][1] << endl;

char *c = &b[1][1];
cout << c << endl;

 

 

运行结果如下:


 

在整型中,cout << &a[1][1] << endl;  输出时为该元素所在地址。

而在字符型中,cout << &b[1][1] << endl; 输出时 将其当做char* 类型,输出b[1][1]以之后的字符串,并且由于二维数组在内存中的分配是连续的,故输出BBCC ('\0')。

 

 

 

 

 

  • 大小: 5.1 KB
分享到:
评论

相关推荐

    JAVA面试题解惑系列(六)——字符串(String)杂谈[收集].pdf

    总的来说,理解和掌握`String`类的`length()`方法、字符数组与字符串的区别以及Unicode编码在Java中的应用,是Java程序员必备的基础技能,也是面试中常见的问题。对于处理中文字符,需要特别注意字符编码的细节,以...

    C指针快速解惑(三)

    除了数值类型,指针还可以用于处理字符串数组。例如,给定内容中有一个字符串数组`name`: ```c static char *name[] = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" }; ``` ...

    iava解惑,深入剖析java

    可能考察字符串排序,Java提供了`Arrays.sort()`方法用于排序字符数组或字符串数组。 谜题13:畜牧场 这个谜题可能与数组或集合的计数有关,需要统计特定元素的数量。 谜题14:转义字符的溃败 可能涉及字符串中的...

    C语言编程技术实践 一维数组翻转课堂教学设计.docx

    在本篇《C语言编程技术实践 一维数组翻转课堂教学设计》中,主要涵盖了C语言中关于一维数组和字符串处理的知识点。一维数组是C语言的基础数据结构之一,而字符串处理则是C语言中处理文本数据的重要手段。以下是详细...

    java 解惑.pdf

    - **解惑**:字符串输出时,需要关注控制台或输出流的具体实现细节。不同的环境可能会有不同的输出格式和限制。 以上仅列举了部分谜题,每个谜题都深入探讨了Java编程中的陷阱和缺陷,并提供了详尽的解决方案。通过...

    讲解Java解惑的PPT2

    当尝试将`char`数组直接与字符串连接时,需要使用`String.valueOf()`方法将`char`数组转换为字符串,否则会得到意外的结果。例如,`System.out.println(letters + " easy as " + String.valueOf(numbers))`将正确地...

    C语言解惑

    7. **数组和字符串**:数组是相同类型元素的集合,字符串是字符数组的一种特殊形式。学习如何声明、初始化和操作数组,以及处理字符串函数(如strcpy、strlen等)是必备技能。 8. **结构体与联合**:结构体允许将...

    C语言解惑(中文版)[干净清晰扫描版]

    字符串通常被当作字符数组来处理,C语言提供了丰富的库函数来操作字符串。 3. **文件操作**:C语言支持文件的读写操作。通过fopen()、fclose()、fread()、fwrite()等函数可以实现对文件的打开、关闭、读取和写入。 ...

    C语言解惑中文版.pdf

    - **字符串操作**:使用标准库函数如`strlen`、`strcpy`等进行字符串处理。 - **数学计算**:利用数学函数如`sqrt`、`pow`等进行数值计算。 - **算法实现**:通过编写简单的排序算法如冒泡排序来提高编程能力。 ###...

    java解惑(源代码+教程)

    3. **字符串操作**:Java中的字符串是不可变的,这意味着任何对字符串的操作都会创建新的对象。理解这一点对于优化代码和避免内存浪费至关重要。 4. **数组与集合**:Java提供了多种数据结构,如数组、ArrayList和...

    C指针快速解惑之一二三

    `定义了一个字符数组`c2`,并初始化为字符串"World",但需要注意,字符串在内存中会自动添加一个结束符`\0`,所以`c2`实际长度为6。 3. **指针的加减法运算**: - 对于指向数组的指针,如`int *p`,我们可以进行`p...

    Java_解惑(PDF)

    5. **字符串操作**:String类在Java中非常常用,其不可变性可能困扰初学者。文档可能会涵盖字符串的创建、连接、查找、替换等操作。 6. **IO流**:输入/输出流是处理数据输入和输出的关键,包括文件读写和网络通信...

    EXCEL函数公式解惑专集

    9. **文本函数**:LEFT、RIGHT、MID用于提取文本字符串的一部分,CONCATENATE或 CONCAT用于连接多个文本字符串,FIND和SEARCH则用于查找子串位置。 10. **错误处理**:ISERROR和IFERROR函数可帮助检测并处理公式中...

    C指针快速解惑(一)

    需要注意的是,字符串常量实际上是以'\0'结尾的字符数组,所以在定义`c2`时为其分配了6个字符的空间(包括结束符'\0')。这意味着尽管`c1`和`c2`看起来相似,但它们的数据类型和存储方式是不同的:`c1`指向一个不可...

    c语言解惑.pdf

    10. 标准库函数:熟悉C标准库中提供的各种功能强大的函数,包括字符串处理、数学运算等。 当面对具体的编程难题时,首先要仔细分析问题,明确问题的需求。然后,可以尝试将复杂问题分解成若干个简单问题,逐一解决...

    C语言解惑pdf

    数组是一组相同类型的元素序列,而字符串是字符数组的特殊形式。在处理数组和字符串时,需注意下标从0开始,以及数组长度的管理。 结构体和联合体允许我们创建自定义的数据类型,将多个不同类型的数据组合在一起。...

    C语言解惑(中文版).pdf

    - **字符串处理**:提供字符串操作的基本技巧,如字符串复制(strcpy)、连接(strcat)等。 ##### 3. 特殊问题解析 - **内存管理**:探讨动态内存分配函数(malloc, free)的使用方法及注意事项。 - **文件操作**:介绍...

    C语言解惑 中文版

    8. **标准库与I/O**:C语言的标准库提供了大量的功能函数,如输入输出、字符串处理、数学运算等。书中会讲解如何正确使用这些库函数,以及关于文件操作的基本知识。 通过阅读《C语言解惑 中文版》这本书,读者不仅...

Global site tag (gtag.js) - Google Analytics