【发布时间】:2014-01-27 01:10:18
【问题描述】:
结构媒体{
uint32_t addressOfPtr;
};
某处出现错误,但我看不到。
printf(" > %x", ((uint8_t*) mediaObject2->addressOfPtr)[i]);不打印
uint8_t message[SIZE_MAX];
for (i=0;i<SIZE_MAX;i++) {
message[i] = i+1;
printf(" > %x", message[i]);
}
uint8_t *msg_Ptr;
msg_Ptr = malloc(SIZE_MAX*sizeof(uint8_t));
memcpy(msg_Ptr, &message, SIZE_MAX);
printf("\n####################\n");
for (i=0; i < SIZE_MAX; i++) // message fixed at length 10
printf(" > %x", msg_Ptr[i]);
printf("\n");
struct media *mediaObject2;
(mediaObject2->addressOfPtr) = malloc(SIZE_MAX*sizeof(uint8_t));
(mediaObject2->addressOfPtr) = (uint32_t) msg_Ptr;
printf("\n####################\n"); // Last stop
//printf(">>>> %x ", mediaObject2->addressOfPtr);
printf("\n");
for (i=0; i < SIZE_MAX; i++) // message fixed at length 10
printf(" > %x", ((uint8_t*) mediaObject2->addressOfPtr)[i]);
printf("\n");
【问题讨论】:
-
并且应该使用与
<stdint.h>不同的名称SIZE_MAX。 -
你是对的。我会的。