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

标签 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

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

最佳答案

你不能。

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

关于c - 在 C 中获取锯齿状数组的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9549499/

相关文章:

c - 以相反的顺序打印双向链表?

c - 我的代码中的段错误

c - 从动态分配的指针数组打印错误

c - 为什么共享库路径在可执行文件中被硬编码?

c - 无法在结构中创建模拟二维动态数组

c - C:指向结构的指针数组的指针(分配/解除分配问题)

c++ - Ubuntu 11.10 上的 OpenCV

ios - 将一个快速线程注册为 pj_thread

c - 在 C 中使用信号量处理套接字

c - 问题 fork() 多进程 Unix