以下是引用beyondyf在2012-7-6 00:11:35的发言:
1、指针在内存中的存储方式和其它变量完全一样,只是存储的内容意义不同(表示一个地址)。
指针的操作方式对应于汇编中的基址+变址寻址方式。
指针的类型是给编译器看的而非机器,所以理论上各种指针类型完全可以相互转换,实际中经常用void *型指针作为通过指针来操作不同类型的指针(如qsort的比较函数指针的参数)。
2、大致是这样的
mov ax, 2
add ax, 3
加法运算符(及各种运算符)由编译器解析成相应的机器指令。
建议多少学一点汇编,对理解计算机的运行方式是很有帮助的。
如果是细节的话有这么几个
首先 32位的x86 CPU的话会用eax 64位用的是rax
一般这种编译时可以决定的数 开了优化的编译时就变成一个数了 不会编译到目标程序里面算 一般是这样