int *p;printf("%p",p);什么意思,输出什么格式?
int *p;printf("%p",p);什么意思,输出什么格式?谢谢。
----------------解决方案--------------------------------------------------------
翻一翻指针部分吧
*P是指针变量,输出的是内存地址.
我也是刚学,不知道有没有错
----------------解决方案--------------------------------------------------------
在指针部分说的是地址
----------------解决方案--------------------------------------------------------
%p是指针的格式说明符
p---point
就象%d是整型数的格式说明符一样
----------------解决方案--------------------------------------------------------
我想知道得具体些,是输出内存地址?与占用地址的大小有关系吗?
#include <stdio.h>
#include <alloc.h>
#include <string.h>
int main(void)
{
char *str;
str = malloc(10);
strcpy(str, "Hello");
printf("String is %s\n Address is %p\n", str, str);
str = realloc(str, 20);
printf("String is %s\n New address is %p\n", str, str);
free(str);
return 0;
}
执行两次输出结果是相同的,执行两次应该分配不同的地址,输出结果却是相同的。
----------------解决方案--------------------------------------------------------