0 0

数组 << 数组本身的问题5

arr=[1,2,3]
n=arr << arr
p n


输出:[1, 2, 3, [...]]

为什么不是[1, 2, 3, [1,2,3]]
2012年7月26日 12:16

1个答案 按时间排序 按投票排序

1 0

因爲你只不過交reference 到四格。是自我reference,無限循環

你該複製一份,改爲。

arr=[1,2,3] 
n = arr << arr.clone
p n

2012年8月15日 18:17

相关推荐

    数组指针和指针数组的区别

    首先,指针数组是一个数组,其中每个元素都是指针,数组占多少个字节由数组本身决定。例如:int *p1[10];这里,p1 是一个指针数组,包含 10 个指向 int 的指针。 而数组指针是一个指针,它指向一个数组。例如:int ...

    数组与指针区别(很全面)

    - 数组在内存中连续存储,而指针本身仅占用固定大小的空间(例如,在32位系统中通常是4个字节,在64位系统中通常是8个字节)。 - 指针可以指向数组的任意位置,而数组名始终指向数组的第一个元素。 2. **灵活度**...

    c#中结构数组的定义

    3. **交错数组(数组的数组)**:每个元素本身也可以是数组,如`byte[][] scores;`。 #### 三、数组的实例化 声明数组并不立即为其分配内存空间,必须通过实例化来创建具体的数组对象。例如: ```csharp int[] ...

    交错数组和多维数组分析

    多维数组是指数组的元素本身也是数组。例如二维数组就是指数组的元素是数组。在C#中,可以定义一个二维数组如下: ```csharp int[,] twoDimensionalArray = new int[3, 4]; ``` 这里定义了一个3行4列的二维数组。...

    关于C#索引超出了数组界限的问题??

    4. **null引用**:如果尝试访问的数组对象本身就是`null`,也会抛出此异常,确保在使用前已正确实例化。 5. **多线程访问**:在多线程环境中,如果不同线程同时修改数组索引,可能导致某个线程在不正确的状态下访问...

    指针数组与数组指针

    也就是说,指针数组本身是一个数组,而数组中的每个元素都指向一个不同的内存区域。 例如,可以定义一个指针数组`int *p[n];`,这里的`[]`优先级较低,表示`p`是一个由`n`个指向整型数据的指针组成的数组。这意味着...

    求数组中的最大值!求数组中的最大值

    除了记录最大值本身,有时还需要知道该最大值在数组中的位置。这可以通过记录当前最大值所在的索引来实现。 ```csharp int l = 0; // 在循环中 if (max &lt; arr[i]) { max = arr[i]; l = i; } ``` 这里,`l`变量被...

    c语言数组练习题及答案

    该函数按照元素最后三位数字的大小进行排序,并且当最后三位相同的情况下按元素本身的大小进行排序。排序完成后,取前10个元素存入`b[]`数组中,并返回10。 **解题思路**: - 使用选择排序算法进行排序。 - 定义...

    2数组.rar数组(array)是相同类型变量的集合,可以使用共同的名字引用它。数组可被定义为任何类型,可以是一维或多维。数组中的一个特别要素是通过下标来访问它。数组提供了一种将有联系的信息分组的便利方法。

    数组(array)是相同类型变量的集合,可以使用共同的名字引用它。数组可被定义为任何类型,可以是...2、数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。

    c语言数组访问及强制转换

    在处理数组时,数组名本身就可以作为指向数组第一个元素的指针使用。这意味着可以通过指针来访问数组中的元素,而不仅仅是通过数组名。 #### 强制类型转换概述 在C语言中,强制类型转换允许开发者显式地改变变量或...

    数组名 != 指针

    当我们对数组名使用`sizeof`时,得到的是数组本身的大小,而不是指针的大小。例如,对于`char str[10];`,`sizeof(str)`的结果为10(字节),而在32位系统上,`sizeof(char*)`的结果为4(字节)。 ```cpp #...

    一篇有关数组的经典文章

    在某些上下文中,数组名可以退化为指向数组首元素的指针,但这并不意味着数组名本身就是一个指针。 3. **数组名的特性**:数组名通常表示的是一个常量表达式,指向数组的第一个元素。但在不同的上下文中,它的行为...

    JavaSE进阶-02-数组.pdf

    - **引用类型**:数组本身是一种特殊的引用类型,它存储的是指向内存中连续空间的引用。 - **元素类型**:数组的元素可以是基本类型或者引用类型,但同一数组内所有元素必须是同一类型。 - **length属性**:数组...

    Java数组传递及可变参数操作实例详解

    Java 数组传递是指在方法之间传递数组对象的引用,而不是传递数组对象本身。这意味着,方法中对数组的修改将会影响原数组。在 Java 中,所有对象都是通过引用进行操作的,而数组也是一种对象。当把数组作为参数传递...

    数组循环移位问题的解法的探究

    ### 数组循环移位问题的解法探究 在计算机科学领域,数组作为一种基本的数据结构,在很多算法和数据处理中扮演着重要角色。特别是在涉及到数组元素的移动时,如何高效地进行数组元素的移位操作成为了许多算法研究的...

    数组的一些代码

    数组变量是指整个数组本身,而数组元素则是指数组中的每一个具体数值。比如在`int[] arr = {2, 6, 5, 7, 8};`中,`arr`是数组变量,而`arr[0]`、`arr[1]`等则是数组元素。 #### 难点三:理解数组名[下标] 数组元素...

    交换数组和差最小

    2. **空间复杂度**:除了数组本身外,还需要额外的空间来存储每次交换后的最小差值,空间复杂度为 O(n)。 #### 结论 通过上述代码实现了对两个整数数组元素的遍历与交换,从而找到了使两个数组元素之和尽可能接近...

    数组与指针的艺术.doc

    文章强调,数组名本身不是指针,而是代表了数组的首地址,这一概念会在后续章节详细解释。 文章首先澄清了指针的基本概念。在C/C++中,指针不仅是一个变量,它包含了实体(entity)和类型两个方面。指针类型是由...

    在XSL使用数组例子

    XSL,全称为eXtensible ...总结来说,虽然XSL本身并不直接支持数组,但我们可以通过一系列技巧和XSLT的特性来模拟数组操作。通过理解这些概念和技巧,我们可以更高效地处理XML数据,实现复杂的数据转换和操作。

    c语言中 数组名和指针的区别

    例如,在WIN32平台上,`sizeof`操作符用于获取对象或类型所占的字节数,对于数组名,它返回的是整个数组所占的字节数,而对于指针变量,它只返回指针本身的字节数(通常为4或8字节)。 #### 1.2 数组名神似指针 ...

Global site tag (gtag.js) - Google Analytics