gpt4 book ai didi

C 数组和指向数组的指针

转载 作者:行者123 更新时间:2023-12-02 22:03:46 24 4
gpt4 key购买 nike

我有一个简单的问题..我有一个C程序..我有一个 long 数组,我想将指向该数组的指针传递给两个函数。以这种方式传递数组是否正确?

long[] myArray


void myFunction1(long *myArray[]){

*myArray[0] = 1;

}

void myFunction2(long *myArray[]){

*myArray[1] = 2;

}

这是正确的吗?

最佳答案

不,这是不正确的,因为当你像这样声明一个变量时 -

long *myArray[]

它表示一个数组,它可以容纳长指针,而不是长值。我猜(从你的函数体)这不是你打算做的。

将您的函数参数更改为 long myArray[],并分配不带星号的值。

像这样——

void myFunction1(long myArray[]){
myArray[0] = 1;
}

void myFunction2(long myArray[]) {
myArray[1] = 2;
}

或者,如果你喜欢使用指针,那么 -

void myFunction1(long *myArray){
myArray[0] = 1;
}

void myFunction2(long *myArray) {
myArray[1] = 2;
}

在这两种情况下,请记住确保数组的大小至少为 2。

关于C 数组和指向数组的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16446344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com