c - 二维数组和指针表示
问题描述
1中的三个问题。
如果我有一个二维数组 -
int array_name[num_rows][num_columns]
所以它由 num_rows 数组组成 - 每个数组都是大小 = num_columns 的数组。它使用指针数组的等效表示是-
int* array_name[num_rows]
- 所以 [num_rows] 给出的索引仍然显示一维数组的数量 - 在某个地方使用 malloc 我们可以将每个一维数组的大小指定为 num_columns。那正确吗?我看到一些文字告诉
int* array_name[num_columns]
在这种情况下,索引不会被切换吗?
对于 ID 数组,我动态指定大小为-
int *p; p = (int*) malloc (size * sizeof(int))
对于二维数组,我是否指定整个二维数组或 malloc 中一个一维数组的大小 -
int*p [row_count]; p = (int*) malloc (row_count * column_count * sizeof(int))
或者
p = (int*) malloc (column_count * sizeof(int))
我认为应该是第二个,因为 p 是指向一维数组的指针,而 p+1 是指向一维数组的指针等。请澄清。
对于问题 2 - 如果 p 被定义为 -
int **p;
而不是int * p[row_count]
如何使用 malloc 呢?我认为应该是——p = (int*) malloc (row_count * column_count * sizeof(int))
请更正、确认、改进。
解决方案
推荐阅读
- r - R中的data.table和base - `|`的含义
- esri - 如何访问 Esri COVID-19_Public_Health_Status_by_County API 的所有县数据?
- git - 关于 git 中常规提交消息的问题
- c# - 如何将 c# Point 转换为 c# Region?
- java - 用 int 替换 String 中的字符,以便对其进行评估 - Java
- python - 我可以从 cppyy 获取 AST
- javascript - 在 element.style 处附加宽度或高度,取决于数组值,纯 JS
- vue.js - Vue 组件观察器未处理承诺中的错误
- css - CSS3:自 Safari 13.1 (Mac) 以来,flex 过渡不再起作用
- reactjs - 未捕获(承诺中)错误:请求失败,状态码为 405 POST AXIOS