小编use*_*280的帖子

在这种情况下如何通过引用传递?

我尝试使用该change()函数来更改内容y.我要问,为什么y不能改变,当我删除*分配时x"abc"

另外,我发现它&*x是一样的&y,这是否意味着指针的地址x被指定为与指向的内容的地址相同*y?另外,为什么&x不等于"abc"

我的代码:

void change(char *x) {
    *x = "abc";
    printf("S3: %x\n", &x);
    printf("S4: %x\n", &*x);
}

int main() {
    char *y = "def"; 
    printf("S1: %x\n", &y);
    printf("S2: %x\n", &*y);
    change(&y);
    printf("result: %s\n", y);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c pointers pass-by-reference

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

标签 统计

c ×1

pass-by-reference ×1

pointers ×1