标签: dynamic-arrays

如何在迭代中增长的数组中迭代*all*值?

下面的例子不起作用,因为foreach在数组的副本上工作,但它在概念上显示了我想要实现的目标.

$items = array('a', 'b', 'c', 'd');
foreach ($items as $i) {
  echo $i;
  if ($i === 'c') {
    $items[] = 'e';
  }
}
Run Code Online (Sandbox Code Playgroud)

我想要打印' abcde',但由于上述原因,它只打印' abcd'.我看过了array_map,array_walk其他人却没有找到解决方案.

php arrays iteration foreach dynamic-arrays

-2
推荐指数
1
解决办法
40
查看次数

如何在C++中正确使用动态分配的多维数组

如何在C++中定义动态多维数组?例如,二维数组?我尝试使用指针指针,但不知怎的,它失败了.

c++ arrays dynamic-arrays

-3
推荐指数
1
解决办法
1804
查看次数

C&C++中数组的动态内存分配

查看C和C++代码中的用户输入(for循环内部).我们在C++的用户输入中使用*(p + i),在C中使用(p + i).什么原因在C中缺少*?Plz解释!看一下COMMENT行...里面的for循环

#include <iostream>

using namespace std;

int main()
{
  int n,i;
  cout << "Ent size" << endl;
  cin>>n;
  int *p = new int [n];
  for(i=0;i<n;i++)
    cin>>*(p+i);//LOOK AT THIS LINE
  cout<<"------------\n\n";
  for(i=0;i<n;i++)
    cout<<*(p+i)<<endl;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)
#include <stdio.h>
#include <stdlib.h>
int main()
{
  int n;
  printf("Ent size!\n");
  scanf("%d",&n);
  int *p=(int *)malloc(n*sizeof(int));
  int i;
  for(i=0;i<n;i++)
    scanf("%d",(p+i));//LOOK AT THIS LINE

  printf("-------\n\n");
  for(i=0;i<n;i++)
    printf("%d\n",(p+i));
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c c++ arrays dynamic-memory-allocation dynamic-arrays

-6
推荐指数
1
解决办法
154
查看次数

sizeof动态数组不正确

在阵列有四个元件,因此大小应4BIT*4 = 16(int数据类型采取在我的系统4位以存储该值.)但是,当我跑这个代码我只得到8位为的大小dynamicArray.

#include <stdio.h>
#include <stdlib.h>

int main(void) {

    //Dynamic arrays save memory by creating a pointer that stores
    //the beginning of the array
    int *dynamicArray = malloc(20 * sizeof(int));
    *dynamicArray = 10;
    printf("Address %x stores value %d\n", dynamicArray, *dynamicArray);

    dynamicArray[1] = 20;
    printf("dynamicArray[1] stores value %d\n", dynamicArray[1]);
    dynamicArray[2] = 45;
    printf("dynamicArray[2] stores value %d\n", dynamicArray[2]);
    dynamicArray[3] = 34;
    printf("dynamicArray[3] stores value %d\n", dynamicArray[3]);
    printf("The size of dynamicArray is %d\n", sizeof(dynamicArray));

    // Release unused memory:
    free(dynamicArray);

    return …
Run Code Online (Sandbox Code Playgroud)

c malloc sizeof dynamic-arrays

-6
推荐指数
1
解决办法
124
查看次数