程序1:把两个相同的字符串赋值给两个不同的指针。比较两个指针
#include<stdio.h>
int main(void)
{
char *a;
printf("%p/n",a);
printf("%d/n",sizeof(a)); //定义一个指针(一个字节),指针变量里面的值是随机的,所以这个指针也叫悬空指针。
a = "hello";
printf("%p/n",a);
printf("%d/n",sizeof(a));
char *b="hello";
printf("%p/n",b);
printf("%d/n",sizeof(b));
if(a==b)
printf("YES");
else
printf("NO");
getchar();
}
程序2:把两个相同的字符赋值给两个不同的指针。比较两个指针
#include<stdio.h>
int main(void)
{
char *a;
printf("%p/n",a);
printf("%d/n",sizeof(a)); //定义一个指针(一个字节),指针变量里面的值是随机的,所以这个指针也叫悬空指针。
a = 'A';
printf("%p/n",a);
printf("%d/n",sizeof(a));
char *b='A';
printf("%p/n",b);
printf("%d/n",sizeof(b));
if(a==b)
printf("YES");
else
printf("NO");
getchar();
}
程序3:把字符串“A”赋值给字符指针;
#include<stdio.h>
int main(void)
{
char *a;
printf("%p/n",a);
printf("%d/n",sizeof(a));
a = "A";
printf("%p/n",a);
printf("%d/n",sizeof(a));
char *b="A";
printf("%p/n",b);
printf("%d/n",sizeof(b));
if(a==b)
printf("YES");
else
printf("NO");
getchar();
}
结果是
1.
2.
3.
总结:
1.把字符串赋值给指针,就是把字符串的首地址传递给指针。
2.把字符赋值给指针, 就是把字符的ACSII传递给指针。