char pwd
应该是
char * pwd
或者是
char pwd[]
char pwd
改为
char * pwd
pwd你定义的是字符
首先用一个简单的例子进行说明:对于int型的地址修改。
#include <stdio.h>
#include <stdlib.h>
void f(int *a) {
int *b = a;
//注意这个式子分开写应该写成 int b; b = a;
*b = 2;
//b是指向a的指针,*b为int型数据,修改*b,相当于修改*a,因为a,b指向同一个地址
}
void f1(int *a) {
int b = *a;
b = 2;
//虽然在这种情况下,*a是属于int类型,b也是int类型,但是由于b并不是指针,不指向a的地址,所以并不能改变a的值
}
int main()
{
int a = 1;
f1(&a);
printf("a = %d\n", a);
return 0;
}