#include<stdio.h>
int main(){ int i; char c; printf("addi=%p,addc=%p",&i,&c); for(i=0;i<5;i++) { scanf("%d",&c); printf("%d,%d/n",c,i); } return 0;}
[root@bogon cTest]# ./a.out addi=0xbffcb550,addc=0xbffcb54fd0,00,10,20,30,4
[root@bogon cTest]# ./a.out addi=0xbfa5e500,addc=0xbfa5e4ff254-2,033,044,05656,077,0
[root@bogon cTest]# ./a.out addi=0xbfb58170,addc=0xbfb5816f2560,133,0
c,i在内存中相邻存放,但是当往C中存放int型数据时,按低位存放是怎么放的呢?是按4个字节来低对低,高对高么?
特别当按INT型存放时,输入的却是CHar型时又是什么情况呢?
用GCC -S *.C发现完全看不懂啊,汇编代码有些奇怪。