大端模式,指针数组

View Code
#include <stdio.h>

int main (void) {
arrayPointer();
int arr[3] = {11,3,4};
int *p1;
char *p2=(char*)arr;
int i;
int size1=sizeof(arr)/sizeof(arr[0]);
int size2=(int)sizeof(arr);
p1 = arr;
printf("*p1=%d,size1=%d\n", *p1,size1);
printf("*p2=%d,size2=%d\n", *p2,size2);
endian();
for(i = 0; i < size1; i++) {
printf("%d\n", *p1);
p1++;
}
for(i = 0; i < size2; i++) {
printf("%d\n", *p2);
p2++;
}
return 0;
}
/*
function for testing the big or little model
*/
void endian(void)
{
int i = 1;

if (*(char *) &i == 1)
printf("Little endian \n");
else
printf("Big endian \n");

return;
}
/*
test for array of pointer
*/
void arrayPointer()
{
char a[]="hi";
char b[]="hello";
char *name[]={a,b};
*name="bye";
puts(a);
}


大端模式判断, 

 

  

在线测试:http://codepad.org/G2JRgDXE

posted @ 2012-01-01 16:05  lxk613  阅读(233)  评论(0编辑  收藏  举报