Random_int(a,n)做什么,以及如何在代码中使用它
What does random_ints(a,N) do and how do I use it in my code?
http://developer.download.nvidia.com/cuda/cuda/training/gtc_express_sarah_sarah_tariq_june2011.pdf
在上面的教程(幻灯片29)中,它们启动了3个指针:
int *a, *b, *c;
显然这是类型(int *),但它们以某种方式使内核可以使用语法a[index]
他们还使用一些(对我)未知命令来初始化其值:
a = (int *)malloc(size); random_ints(a, N);
那么这个命令做什么?首先,它将指针 *a施放为int(但后来在 a
上神奇地成为向量)。我找不到有关Random_int的任何来源(并且我的编译器都无法识别它,因为它可能需要一些)。我想它使a
成为具有随机ints的长度n的向量(尽管a
为int
类型)。
我尝试通过使用vector <int> * a;
等做同样的事情来解决此问题,但是我仍然很难将其传递给我的内核(无论我尝试什么,它都不会添加元素)。
我在C 工作。预先感谢。
编辑:这可以是伪代码吗?因为明确的C 示例以不同的(可理解的方式)
- 您可以像普通数组一样使用C/C 中的指针。请参阅:
示例
int* p = new int[2];
p[1] = 2;
*(p + 1) = 2; // same as line above - just other syntax
*(1 + p) = 2; // and other way
1[p] = 2; // don't use it - but still valid
- 您可以在C 中通过malloc分配内存(它是从C方式派生的),但仅用于POD类型,例如
int
示例
int* p = (int*)malloc(12 * sizeof(int)); // C way equivalent to C++: new int [12]
请注意,您必须通过free(p)
而不是delete [] p
释放此指针。
- 我猜该功能的实现只是将n个随机数分配给由指针表示的int数组:
示例:
void random_ints(int* a, int N)
{
int i;
for (i = 0; i < N; ++i)
a[i] = rand();
}
相关文章:
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 0-1背包代码中的错误.我的代码中有什么错误
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 不确定要在我的main中放入什么才能使我的代码正常工作
- 这行代码在C++类中意味着什么
- 使用不同的CRT将新的C++代码与旧的(二进制)组件隔离开来的最佳方法是什么
- 当无法使用模板和宏时,生成类型变体C++代码的最简单方法是什么?
- 我可以做些什么来消除或最小化这种将提供相同功能和行为的代码重复
- 以下 C++ 代码用于 -> "#define idiv(a, b) (((a) + (b) / 2) / (b))" 是什么?
- 这个带有模板<类 Vector 的C++代码片段有什么问题>
- 此代码中的操作流程是什么?C/C++.
- 当我从下面的代码中删除关键字 virtual 时,它可以正常工作,否则会出现错误。在这里"virtual"字的意义是什么?
- 此代码验证公式是什么意思?
- 需要以下代码的帮助,下面的代码有什么问题
- C++标准提案代码:什么是 N 和 P?
- C - 哈希算法代码什么都没有返回
- 将"12345678"转换为"1-234-5678",我的代码什么也没产生
- 在编译过程中,琐碎的(没有效果的)代码什么时候会被删除
- 有人能告诉我为什么这个代码什么都不打印吗