#include "stdio.h"
void main()
{
char *p="Monday";
/*p为指向字符串"Monday"的首地址指针*/
printf("%s\n",p);
/*该语句的结果应该是"Monday",即printf会一直输出字符直到"\0"结束符为止*/
printf("%c\n",*p);
/*该语句的结果应该是"M",因为p是字符串"Monday"的首地址,该地址指向的字符是"M"*/
char q[]="Tuesday";
/*C语言中没有字符串类型变量,因此只能用字符数组来表示,以"\0"表示字符串的结束*/
printf("%s\n",q);
char a='a';
/*字符变量的赋值用单引号,字符串赋值用双引号*/
printf("%c\n",a);
char *b[]={"Wednesday","Thursday"};
/*b是一个二维指针数组,b[0]为"Wednesday"字符串的首地址,b[1]为"Thursday"的首地址。需要注意的是,b和b[0]的值并不一样*/
printf("%s\n%s\n",b[0],b[1]);
/*指针数组变量名b为该数组的首地址,指向b[0],但并不等于b[0]*/
printf("%s\n",*b);
/*这个应该输出"Wednesday",*b等效于b[0]*/
char s[3][4]={'1','2','3','4','5','6','7','8','9','10','11','12'};
char (*c)[4];
/*类似于"char *b[]",不过用来指向二维数组的某一行*/
c=s;
printf("%c\n",*((*c+2)+3));
/*指向第2行第3列的字符*/
getchar();
}