#include"stdio.h"
#include"stdlib.h"
#include"string.h"
void main1() //报错
{
char *p1=NULL;//指针赋值为NULL,即为0
//p1=0x77;
strcpy(p1,"asdfg");
system("pause");
return;
}
void main()
{
inti,j=0;
char buf[128];//C语言可以在栈上分配内存
char*p1 = NULL;
char*p2 = NULL;
p1 =&buf[0]; //不断地修改p1的值,相当于不断改变指针的指向
p1= &buf[1];
p1= &buf[2];
for(i=0; i<10 ;i++ )
{
p1= &buf[i];
}
p2 = (char *)malloc(100); //在堆中申请内存
strcpy(p2,"abcdefg123456789");
for(i=0; i<10 ;i++ )
{
p1= p2+i;
printf("%c ",*p1); //不同的指针可以操作同一块内存空间
}
system("pause");
return;
}