#include "stdio.h"
void pointer(int *p)
{
int a = 11;
printf("\n\nEnter function");
printf("\nthe p is point to %p , addr is %X, *p is %d",p , &p, *p);
*p =11;
printf("\nthe p is point to %p , addr is %X, *p is %d",p , &p, *p);
p = &a;
printf("\nthe p is point to %p , addr is %X, *p is %d",p , &p, *p);
printf("\nfunction return\n");
}
int main()
{
int b =22;
int *p = &b;
printf("the b address %X\n",&b);
printf("the p is point to %p , addr is %X, *p is %d",p , &p, *p);
pointer(p);
printf("\nthe p is point to %p , addr is %X, *p is %d\n",p , &p, *p);
}
#结果
the b address 28FF3C
the p is point to 0028FF3C , addr is 28FF38, *p is 22
Enter function
the p is point to 0028FF3C , addr is 28FF20, *p is 22
the p is point to 0028FF3C , addr is 28FF20, *p is 11
the p is point to 0028FF0C , addr is 28FF20, *p is 11
function return
the p is point to 0028FF3C , addr is 28FF38, *p is 11
#include "stdio.h"
void GetMemory(char **p,int num)
{
*p=(char*)malloc(sizeof(char)*num);
}
void main()
{
char *str=NULL;
GetMemory(&str,100);
strcpy(str,"hello\n");
printf(str);
}
参照来源: https://www.cnblogs.com/WeyneChen/p/6672045.html