我怎样才能通过一个函数中的指针数组的位置在c ie 我有一个int* array[10];
并通过函数我想指定array[0]
是位置一个特定的数字说,5
。函数的参数应该是什么样子。我曾尝试过: void insert(int* array);
但它没有奏效。通过一个函数中的数组的位置
-1
A
回答
1
数组是始终是作为指向数组开头的指针传递,即使不明确写入也是如此。因此,考虑数组的这项声明从你的问题:
int *array[10];
以下两个功能将接受一个指向这样一个数组:
int foo(int *array[]);
int foo(int **array);
他们只是相当于我会建议你使用第二形式,因为它使得它明确地传递给函数的是什么类型。
在函数内部,可以访问的任何元素,因为索引是作为阵列本身上定义上的指针相同的方式,以一个阵列:
int foo(int **array)
{
int *sixthElement = array[5];
// [...]
}
附加文体注:在C语言中,这是常见的做法,宣布当指针标识,不的类型附上*
,即最好写
int *array[10];
代替
int* array[10];
这是因为在一个C声明,有作为指针类型没有这样的东西,有一个指针声明符(由*
的,可选限定和标识符),这个声明器声明一个变量是一个指向指定类型的指针。这是一个微妙的区别,但如果你尝试在一行中声明多个变量(不这样做,这只是为了解释这里),你会注意到它:
int *a, b; // <- declares a as a pointer to int, b just as an int
+0
“*数组总是作为指针传递...... *”...保存数组第一个元素地址的值。 – alk
相关问题
- 1. 如何通过引用传递一个数组中的函数?
- 2. 通过函数的参数传递一个数组
- 3. 在bash中的一个函数中设置位置参数
- 4. 取数组函数在数组的每个位置加倍值?
- 5. 通过调用另一个函数设置的函数中的静态变量
- 6. JS循环位置,同时通过一个数组迭代
- 7. 通过函数在结构数组中创建一个列表
- 8. 我可以通过在nightwatch.js中的数组位置选择一个元素吗?
- 9. 确定数组在一个数组中的位置
- 10. 基于数组中的位置创建一个数组
- 11. PySpark组中的中位数/分位数通过
- 12. 参考将其通过另一函数创建一个数组
- 13. 通过函数的返回值设置数组的值
- 14. 数组的多个位置
- 15. 循环通过对象的数组,并找到位置数
- 16. 在MATLAB中通过数组的单个维度分配函数?
- 17. 如何通过数组中的每个值运行函数
- 18. 通过传递一个值的函数
- 19. 调用通过一个指针的函数 - 访问冲突读取位置
- 20. 错位可能通过的typedef为私有到一个数组
- 21. 通过位置参数
- 22. 的jQuery如何通过一个数组
- 23. Python - 通用函数的最佳位置
- 24. 找出一个值“适合”在一个数组中的位置?
- 25. C++通过参数传递函数中的另一个函数参数
- 26. 的Java:设置通过函数的一个参数多个变量
- 27. 我怎么能通过数组到一个函数在PHP
- 28. 通过PHP函数传递一个数组
- 29. 通过另一个函数从动态数组访问值
- 30. AGGREGATE函数组通过
请写出整个代码,正确的代码格式。 – kabanus
@kabanus我应该写什么作为函数的参数来传递指针数组的位置。 –