段错误产生原因(以下为错误示范):
1.给只读区写入数值:char* pa = "hello"; pa[2]='w';
2.读写低地址:int pa = 100 ; printf(“%s”,*pa);
计算机的大端和小端:
大端是从高位开始进行存储(低位数据对应高地址,高维数据对应低地址)
小端是从低位开始进行存储(低位数据对应低地址,高维数据对应高地址)
如果存入ox44332211,大端按从高地址到低地址为11,22,33,44;小端按从高地址到低地址为44,33,22,11。
如果想看自己的电脑是大端还是小端,可以将int型强转成char型,进行高位截断,就可以知道电脑室大端还是小端了。(例如:定义一个整形a为1,如果电脑是大端,那么他存储应该为ox01000000;若为小端,存储为ox00000001;这时强转char型,进行高位截断,保留一个字节。这样大端为ox00,小端为ox01.)(32位写得太麻烦,用16进制代替了)