69,379
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
int main() {
//void *p_v = malloc(4 * sizeof(char));
void *p_v = calloc(4, sizeof(char));
char *p_str = (char *)p_v;
//printf("p_str = %p\n", p_str);
*(p_str + 3) = '0';
int *p_num = (int *)p_v;
//printf("p_num = %p\n", p_num);
printf("*p_num = %d\n", *p_num);
free(p_num);
return 0;
}
int get_sys_endian(void)
{
int a = 0x12;
char c = *(char*)&a;
if (0x12 == c)
{
printf("little endian\n");
return 1;
}
else
{
printf("big endian\n");
return -1;
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int get_sys_endian(void)
{
int a = 0x1234;
char c = *(char*)&a;
if (0x12 == c)
{
printf("big endian\n");
return 1;
}
else
{
printf("little endian\n");
return -1;
}
return 0;
}
int main(void)
{
int pos = 0;
void *p_v = calloc(4, sizeof(char));
char *p_str = (char *)p_v;
if (get_sys_endian() == 1)
{
pos = 3;
}
*(p_str + pos) = '0';
int *p_num = (int *)p_v;
printf("*p_num = %d\n", *p_num);
free(p_num);
return 0;
}