如何在另一个数组的索引中存储数组地址?

时间:2018-07-20 10:50:54

标签: c

在另一个数组的索引处存储的数组地址。

#include<stdio.h>
#include <stdlib.h>
int *ip_range ;
int *new_ip_range ;

int main()
{
  //malloc a array.
  ip_range = (int ) malloc(2  sizeof(int));
  ip_range[0]=2;
  ip_range[10]=2;
  //malloc second array.
  new_ip_range = (int ) malloc(2  sizeof(int));
  ip_range[11] =new_ip_range[0]; //store the address of 1 array to another
  new_ip_range[0]=99;
  new_ip_range[1]=99;
  new_ip_range[2]=99;
  new_ip_range[3]=99;

  return 0;
}

我想将数组(new_ip_range)的地址存储在数组(ip_range)的11个索引中。

1 个答案:

答案 0 :(得分:1)

要在另一个数组中存储一个数组的地址,请使用指针数组,如下所示:

#include <stdio.h>
#include <stdlib.h>
int **ip_range;
int *new_ip_range;

int main()
{
    //malloc a array.
    ip_range = (int**)malloc(12 * sizeof(int*));

    //malloc second array.
    new_ip_range = (int*)malloc(4 * sizeof(int));
    new_ip_range[0] = 99;
    new_ip_range[1] = 99;
    new_ip_range[2] = 99;
    new_ip_range[3] = 99;

    ip_range[11] = new_ip_range; //store the address of 1 array to another

    //printf("%d", ip_range[11][0]);

    free(new_ip_range);
    free(ip_range);

    return 0;
}