字符串与char数组的指针表示
2011-07-10 01:37
579 查看
#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(); }
相关文章推荐
- 字符串的数组表示法&指针表示法&常量表示法
- 浅谈数组与指针表示字符串的区别
- 数组字符串与指针字符串的区别 char s[]="***" 和char *s="***"的区别
- char a[](字符串数组)和char *a(字符串指针)区别
- 数组与指针定义字符串的区别(即char[]与char*)
- char * 与 char [] 区别,char *[] 与 char[][]区别。字符串指针的数组与二维char数组区别。字符串常量赋予指针与字符数组区别。"字符串"等价于其首元素"字"的地址
- 对C语言中的字符串,字符数组以及用指针表示字符串的理解
- C语言:将输入的字符串(char* cp)存入字符指针数组(char * spa[])
- char a[](字符串数组)和char *a(字符串指针)区别
- 字符串数组char[]和字符串指针char*的讨论
- 面试题--字符串指针与字符串数组的区别char* st="abc;与char* str[]="abc";的异同
- 077.Char Pointer String 用指针表示字符串
- Delphi的字符(Char),字符串(String),字符串指针(PChar),字符数组arrayofchar(来自http://delphi.cjcsoft.net/论坛)
- 用指针存储字符数组表示字符串
- 程序猿之---C语言细节1(==与=、函数指针、数组字符串printf、int ((b));、char b =‘abcd’)
- 077.Char Pointer String 用指针表示字符串
- C字符串数组和指针表示法
- char a[](字符串数组)和char *a(字符串指针)区别
- char[]数组名与指针,以及字符串数组与string的一些比较
- Delphi的字符(Char), 字符串(String), 字符串指针( PChar ), 字符数组 array of char