二级指针错误?
#define _CRT_SECURE_NO_WARINGS#include <stdio.h>
#include<stdlib.h>
#include<string.h>
void GetMem(char **p)
{
*p=400;
}
void GetMem1(char *p)
{
*p=800;
}
void main()
{
char *p1=NULL;
char **p2=NULL;
GetMem(&p1);
printf("p1: %p\n",p1);
GetMem1(&p1);
printf("p1:%p\n",p1);
system("pause");
return;
}
何意?你具体想说什么问题???? ba21 发表于 2018-5-25 19:00
何意?你具体想说什么问题????
第二次打赢P1应该是320,怎么会是120? 本帖最后由 ba21 于 2018-5-25 21:22 编辑
Mr.HO 发表于 2018-5-25 19:19
第二次打赢P1应该是320,怎么会是120?
自己看图理解。还有要指出的是请正规化,别整些没用的;搞得自己头晕
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
void a(int **p)
{
int newa;
newa = 520;
*p=&newa;
}
void b(int *p)
{
*p=800;
}
void main()
{
int *p1=NULL;
a(&p1);
printf("p1 = %d\n", *p1);
b(p1);
printf("p1 = %d\n", *p1);
system("pause");
return;
} ba21 发表于 2018-5-25 21:17
自己看图理解。还有要指出的是请正规化,别整些没用的;搞得自己头晕
类型错误了 #define _CRT_SECURE_NO_WARINGS
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
void printp(char **p)
{
printf("%p\n",p);
printf("%p\n",*p);
printf("%p\n",**p);
}
void printp1(char *p)
{
printf("%p\n",p);
printf("%p\n",*p);
}
void main()
{
//char *p[]={"hojanan","hojing"};
char *p="test";
/*char **p1;
char p2;
char **********p3;
char ****p4;
*/
printp(&p);
printf("\n");
printp1(&p);
//printf("%d %d %d%d%d",sizeof(p),sizeof(p1),sizeof(p2),sizeof(p3),sizeof(p4));
system("pause");
return;
} #define _CRT_SECURE_NO_WARINGS
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
void printp(char **p)
{
printf("%p\n",p);
printf("%p\n",*p);
printf("%p\n",**p);
}
void printp1(char *p)
{
printf("%p\n",p);
printf("%p\n",*p);
}
void main()
{
//char *p[]={"hojanan","hojing"};
char *p="test";
/*char **p1;
char p2;
char **********p3;
char ****p4;
*/
printp(&p);
printf("\n");
printp1(&p);
//printf("%d %d %d%d%d",sizeof(p),sizeof(p1),sizeof(p2),sizeof(p3),sizeof(p4));
system("pause");
return;
} #define _CRT_SECURE_NO_WARINGS
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
void printp(char **p)
{
printf("%p\n",p);
printf("%p\n",*p);
printf("%p\n",**p);
}
void printp1(char *p)
{
printf("%p\n",p);
printf("%p\n",*p);
}
void main()
{
//char *p[]={"hojanan","hojing"};
char *p="test";
/*char **p1;
char p2;
char **********p3;
char ****p4;
*/
printp(&p);
printf("\n");
printp1(&p);
//printf("%d %d %d%d%d",sizeof(p),sizeof(p1),sizeof(p2),sizeof(p3),sizeof(p4));
system("pause");
return;
}
页:
[1]