void swap1(int p,int q)
{
int temp;
temp = p;
p=q;
q=temp;
}
void swap2(int *p,int *q)
{
int *temp;
*temp = *p;
*p=*q;
*q=*temp;
}
void swap3(int *p,int *q)
{
int *temp;
temp = p;
p=q;
q=temp;
}
void swap4(int *p,int *q)
{
int temp;
temp = *p;
*p=*q;
*q=temp;
}
void swap5(int &p,int &q)
{
int temp;
temp = p;
p=q;
q=temp;
}
void test20()
{
int a = 3,b = 5;
//swap1(a,b);
//swap2(&a,&b);
//swap3(&a,&b);
swap4(&a,&b);
swap5(a,b);
cout<<"a="<<a<<" b="<<b<<endl;
}
void getmemory(char *p,int num)
{
p = (char*)malloc(sizeof(char)*num);
}
void test21()
{
char *s = NULL;
getmemory(s,100);
strcpy(s,"hello");
cout<<"ss=="<<s<<endl;
}
出现段错误
void getmemory(char **p,int num)
{
*p = (char*)malloc(sizeof(char)*num);
}
void test21()
{
char *s = NULL;
getmemory(&s,100);
strcpy(s,"hello");
cout<<"ss=="<<s<<endl;
cout<<"ss=="<<*s<<endl;
cout<<"ss=="<<&s<<endl;
}
运行没有问题
char *getmemory(char *p,int num)
{
p = (char*)malloc(sizeof(char)*num);
return p;
}
void test21()
{
char *s = NULL;
s = getmemory(s,100);
strcpy(s,"hello");
cout<<"ss=="<<s<<endl;
cout<<"ss=="<<*s<<endl;
cout<<"ss=="<<&s<<endl;
}
运行没有问题
void getmemory(int *a)
{
*a = 7;
}
void test21()
{
int a;
getmemory(&a);
cout<<"a=="<<a<<endl;
cout<<"a=="<<&a<<endl;
}
运行没有问题
char *s1()
{
char s1[] = "222";
return s1;
}
const char *s2()
{
char *s1 = "222";
return s1;
}
const char *s3()
{
static char s1[] = "222";
return s1;
}
void test22()
{
const char *s = s3();
cout<<s<<endl;
char c[] = "122";
c[0] ='t';
//char *c1 = "ada";
//*c1 = 't';
}
void test23()
{
int a[3];
a[0]=1,a[1]=2,a[2] =3;
int *p,*q;
p =a;
cout<<p<<endl;
cout<<*p<<endl;
q = &a[2];
cout<<q<<endl;
cout<<"q-p="<<q-p<<endl;
cout<<"*q="<<*q<<endl;
cout<<a[q-p]<<endl;
cout<<"a[*q-*p]="<<a[*q-*p]<<endl;
}