163585580 发表于 2021-4-7 20:23

c语言引用类型的问题,求助大佬们

#include <stdio.h>

void test(int &x){
    x=1024;
    printf("test函数内部 x=%d\n",x);
}


int main(){
    int d=1;
    printf("调用test函数前 x=%d\n",d);
    test(d);
    printf("调用test函数后 x=%d\n",d);
    return 0;
}

编译的时候报错,不知道是哪里有问题?求助吾爱的大佬们

amedge 发表于 2021-4-7 20:29

C语言里面没有引用类型,这是C++里的语法。C语言要直接使用指针

峻熙 发表于 2021-4-7 20:54

你把那个&删除不就好了

sam喵喵 发表于 2021-4-7 21:01

函数指明用C++编译器处理

峻熙 发表于 2021-4-7 21:06

本帖最后由 峻熙 于 2021-4-7 21:12 编辑

int test1(int *p)
{
    *p = 1024;
    printf("test里面 x=%d\n",*p);
}

int main(){
    int d=1;
    printf("调用前 x=%d\n",d);
    test1(&d);
    printf("调用后 x=%d\n",d);
    return 0;
}

峻熙 发表于 2021-4-7 21:07

峻熙 发表于 2021-4-7 21:06
int test(int *p)
{
        *p = 1024;


绝了,dev复制回去中文乱码

薇尔莉特 发表于 2021-4-7 21:58

vnightray 发表于 2021-4-7 22:18

稍微查了一下,好像c没有引用,在c里面“&”只是取址。不过可以试试传递指针。

xy20200214 发表于 2021-4-7 22:24

gcc c语言哪来的引用

amo今天学习了吗 发表于 2021-4-7 22:35

==,我复制进devc,,可以直接运行啊
页: [1] 2
查看完整版本: c语言引用类型的问题,求助大佬们