获取C中的锯齿状数组长度

时间:2012-03-03 20:15:44

标签: c pointers

代码:

int *Array[8];

  Array[0] = (int *) malloc(sizeof(int) * 5);

  printf("%d" , sizeof(Array)/sizeof(int));  // Result = 8 : True
  printf("%d" , sizeof(Array[0])/sizeof(int)); // Result = 1 : False

如何获得Array [0]的长度为5?

1 个答案:

答案 0 :(得分:7)

你不能。

C中的动态数组不随身携带长度信息。因此,您需要编写代码以记住它分配了长度为5的内容。