特别提醒:
- 注意字符串和字符数组的区别(当初总是混淆)
- 注意char string[ ] =”shanghai” 和 char *p=”shanghai”的区别(存储区域不一样)
#include <stdio.h>
void test1()
{
char str[4]={'a','b','c','d'};
char str1[4]={'a','b','c','\0'};
char string[10]={'a','b','c','d'};
char string1[10]={"1234567"};
char string2[10]="123456";
char string3[]="1234";
}
void test2()
{
char string1[3]={'i','t','\0'};
char string[2]={'o','k'};
int i=0;
for (i=0; i<2; i++)
{
printf("string[%d]=%p\n",i,&string[i]);
}
printf("\n");
for (i=0; i<3; i++)
{
printf("string1[%d]=%p\n",i,&string1[i]);
}
printf("%s\n",string);
}
void test3()
{
char *p="I LOVE CHINA";
char *q="I LOVE YOU";
printf("p=%p\nq=%p\n",p,q);
printf("%s\n",p);
char string[12]="1234";
}
void printString(char *string)
{
printf("%s\n",string);
}
int main()
{
char string[10]="shangHai";
char *p;
p="shangHai";
printString(p);
return 0;
}