小编Jam*_*ams的帖子

将数组作为函数参数从函数内传递,该函数将其作为C中的参数

天儿真好!

如果我有一个函数,它将一个int数组作为参数,然后从该函数中,将相同的数组发送到另一个函数,它是否仍然能够编辑数组值并让它们在主级别提交而不是在功能水平?

int
main(int argc, char *argv[]) {
    int A[50];
    functionB(A);
 }
Run Code Online (Sandbox Code Playgroud)

函数B看起来像:

void functionB(int A[]) {
    functionC(A);
}
Run Code Online (Sandbox Code Playgroud)

和函数C是实际变异A []内的值的函数.

主要看到改变的数组还是原来的A []?

谢谢!

c arrays pointers immutability mutability

7
推荐指数
1
解决办法
118
查看次数

仅根据第一列对C中的二维数组进行排序

我有一个包含 2 列的双精度型数组,最大行数为 1000,我想根据每行的第一个元素对其进行排序,然后移动整行。本质上,我希望第二列元素没有影响。

我将数组介绍为:

双A[1000][2];

在我的主要。A 的一个例子可以是:

18.0 2.0

5.5 3.5

10.0 8.1

4.0 2.5

排序后,我希望它看起来像这样:

4.0 2.5

5.5 3.5

10.0 8.1

18.0 2.0

知道如何对其进行反向排序也很好,这样它看起来像这样:

18.0 2.0

10.0 8.1

5.5 3.5

4.0 2.5

请注意它是如何仅根据第一列中的值进行排序的,然后整个行都会被切换。

我尝试使用非常标准的插入排序算法,只需将输入参数更改为二维数组,并在函数内添加一个代码块来更改行的两个元素,但我不断收到此错误:

错误:数组的元素类型不完整 'double []' sort_double_array(double A[][], int n) {

我该怎么做呢?如果能够使用插入排序来做到这一点就好了。我可以发布我用于插入排序的函数,但它非常适合一维数组。

提前非常感谢,真的被困在这里了。

干杯,

詹姆士。

c arrays sorting multidimensional-array

5
推荐指数
1
解决办法
2万
查看次数

OpenGL 更新顶点数组/缓冲区

当我第一次向缓冲区添加一些顶点时,这些是我正在调用的相关函数

    // Create and bind the object's Vertex Array Object:
    glGenVertexArrays(1, &_vao);
    glBindVertexArray(_vao);

    // Create and load vertex data into a Vertex Buffer Object:
    glGenBuffers(1, &_vbo);
    glBindBuffer(GL_ARRAY_BUFFER, _vbo);
    glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(float), &vertices[0], GL_STATIC_DRAW);

    // Tells OpenGL that there is vertex data in this buffer object and what form that vertex data takes:

    // Obtain attribute handles:
    _posAttrib = glGetAttribLocation(program, "position");
    glEnableVertexAttribArray(_posAttrib);
    glVertexAttribPointer(_posAttrib, // attribute handle
                          4,          // number of scalars per vertex
                          GL_FLOAT,   // scalar type
                          GL_FALSE,
                          0,
                          0); …
Run Code Online (Sandbox Code Playgroud)

c++ opengl graphics shapes vertices

5
推荐指数
1
解决办法
3411
查看次数

React Native中的条件导入

我在让条件导入在本机反应中工作时遇到了麻烦。

我有一些在React Web应用程序和React Native中使用的文件。

我想要的是:

if(process.env.REACT_PLATFORM === 'WEB') {
    import('some_file').then(({someFunc})=> someFunc())
}
Run Code Online (Sandbox Code Playgroud)

因为'some_file'进口了react_router

但是,此导入仍在进行,RN Metro捆绑器抛出

UnableToResolveError: Unable to resolve module 'react-router' from 'some_file'.

即使我将其替换为:

if(false) {
    import('some_file').then(({someFunc})=> someFunc())
}
Run Code Online (Sandbox Code Playgroud)

它仍然尝试加载some_file。无论如何,是否只有在满足条件的情况下才导入/需要此文件?

干杯!

编辑:我尝试过的事情:

javascript reactjs webpack react-native

5
推荐指数
2
解决办法
2850
查看次数

用于运行其他 ruby​​ 脚本的 ruby​​ 脚本

如果我想运行一堆 ruby​​ 脚本(超级相似,可能会更改一个数字作为命令行参数)并且仍然将它们输出到 stdout,有没有办法做到这一点?

即运行这些的脚本:

               ruby program1.rb input_1.txt
               ruby program1.rb input_2.txt
               ruby program1.rb input_3.txt
Run Code Online (Sandbox Code Playgroud)

喜欢

 (1..3).each do |i|
    ruby program1.rb input_#{i}'
 end
Run Code Online (Sandbox Code Playgroud)

在另一个脚本中,这样我就可以运行该脚本并在终端中查看所有 3 次运行的输出?

编辑:

我正在努力实施投票第二高的建议答案。

我的program1.rb 中没有主要功能,而建议的答案有一个。

我已经尝试过这个,对于 script.rb:

require "program1.rb"
(1..6).each do |i|
    driver("cmd_line_arg_#{i}","cmd_line_arg2")
end
Run Code Online (Sandbox Code Playgroud)

但没有运气。是对的吗?

ruby shell

1
推荐指数
1
解决办法
5084
查看次数