enchanted 发表于 2018-6-1 10:58:33

c++在定义函数中调用数组参数

为什么m数组中在监视区只有一个元素,不应该有64个吗?请教大佬该如何改{:5_91:}

人造人 发表于 2018-6-1 10:58:34

enchanted 发表于 2018-6-1 17:20
那应该怎么改?

用结构体封装一下?
不过有必要这样搞吗?
指针不好吗?


#include <stdio.h>

struct Data
{
        int m;
};

void Fun(struct Data *d)
{
        d->m = 100;
}

int main(void)
{
        struct Data d;
        for(int i = 0; i < 100; ++i)
        {
                d.m = i;
        }
        Fun(&d);

        return 0;
}

BngThea 发表于 2018-6-1 11:32:26

因为函数调用本来就是传递指针的方式,
一般来说数据都是用指针形式在内存中存储的

enchanted 发表于 2018-6-1 17:20:55

BngThea 发表于 2018-6-1 11:32
因为函数调用本来就是传递指针的方式,
一般来说数据都是用指针形式在内存中存储的

那应该怎么改?

BngThea 发表于 2018-6-1 21:57:20

enchanted 发表于 2018-6-1 17:20
那应该怎么改?

为什么要改?
如果要看数据变化直接在函数内部定义一个数组等于它

xc0625 发表于 2018-6-2 15:39:47

改成int (&m)就可以了,

enchanted 发表于 2018-6-6 23:33:56

xc0625 发表于 2018-6-2 15:39
改成int (&m)就可以了,

不对啊

xc0625 发表于 2018-6-9 13:42:28

enchanted 发表于 2018-6-6 23:33
不对啊

你这是.c是c肯定用不了引用啊,但是引用跟指针一样,你改成 int (*m)不就行了嘛
页: [1]
查看完整版本: c++在定义函数中调用数组参数