不多说,上栗子~
不必局限于规定的类型,该放什么放什么
#include<stdio.h>
//符号即内存
int main()
{
int nNum = 'BP51';
int *add ;
char c1,c2,c3,c4;
//***********************************************
c1 = '\101'; //八进制
c2 = '\x41'; //十六进制
c3 = 'A';
c4 = 65;
printf("%c ---- %c ---- %c ---- %c\n",c1,c2,c3,c4);
printf("%d --- %d --- %d --- %d\n",c1,c2,c3,c4);
//***********************************************
printf("%s\n",&nNum);
//printf("==== %s\n",nNum); 这样是不对的,nNum是一个整形并非地址
printf("%c\n",nNum); //而整形可以转换为字符
printf("%c\n",nNum >> (8*1));
printf("%c\n",((char *)&nNum)[1]); //转换为字符指针
add = &nNum;
printf("%x\n",&add[3]); //相当于加了 3*4个字节,因为单位为 int
printf("%c\n\n",add[3]);
printf("%x\n",add +3);
printf ("%c\n\n",*(add+3)); //相当于加了 3*4个字节,因为单位为 int
return 0;
}