对一个int类型赋值字符串会是什么结果

对一个int类型赋值字符串会是什么结果

问题描述:

图片说明如图取值和取地址得到的结果不知道有什么联系

首先你的int a = "0";在有些编译器下是无法通过编译的,比如VS,而你的cfree是可以的
此时a保存的其实是"0"这个常量字符串位于常量区的一个地址。
你也没必要去理解这个结果,因为按标准来说就是错的

具体情况不太清楚,对C的了解也只是留在学过C语言
不过可以简易的说明一下变量,就是8个基础类型是放在栈中的,而字符串是对象,是放在堆中的,
放在栈中的变量可以互相转换,如果太大或太小,就会溢出,只有部分精度,
而对象是在堆中占 的一块内存,将对象赋值给变量,取得应该是前几位的地址