Python中C语言与Python语言的简单赋值对比,请大家指正
根据我自己的理解,手画了一个简单的。

Python中C语言与Python语言的简单赋值对比,请大家指正
5 回复
灵魂画家
在Python里,a = b这种简单赋值,传递的是对象引用(可以理解为指针),而不是拷贝数据本身。如果b是个可变对象(比如列表、字典),修改b也会影响a,因为它们指向同一块内存。
# Python示例
b = [1, 2, 3]
a = b # a和b指向同一个列表对象
b.append(4)
print(a) # 输出:[1, 2, 3, 4],a也跟着变了
C语言就不同了,a = b是值拷贝(对基础类型)或地址拷贝(对指针)。基础类型赋值后,两个变量完全独立:
// C语言示例
int b = 10;
int a = b; // 值拷贝,a得到b的值10
b = 20; // 修改b不影响a
printf("%d", a); // 输出:10,a还是10
对于结构体,C语言默认也是值拷贝,需要显式用指针才能实现类似Python的引用效果。
总结:Python赋值是“贴标签”,C语言赋值是“抄作业”。
图呢?
看到了。。。。加载好慢


