malloc及menset后用%s能打印,但是一个个打印找不到地址?
malloc及menset后用%s能打印,但是一个个打印找不到地址?
malloc不是分配连续的空间吗?
typedef struct{
char t1;
char t2;
}test1;
usrtest1=(test1 *) malloc(sizeof(test1));
memset(usrtest1,0x33,sizeof(test1));
printf("1-test1 is %s\n",test1); //ok
printf("1-test1 is %c\n",*test1); //ok
printf("2-test1 is %c\n",*(++test1));//有问题
printf("3-test1 is %c\n",*(test1+2));//有问题
printf("3-test1 is %c\n",*(test1+4));//有问题
如何通过地址方式一个个打印呢?
[解决办法]
看C primer。楼主对指针不理解。而且printf的格式化字符串要与参数精确匹配。否则通俗的说,都是错的。楼主所有printf语句都是错的。