c语言中,字符串指针怎样实现对字符串的读取与存储?

如题所述

比如char s[30];
数组名s可以看作数组的首地址,可以直接对它进行操作;
或用一个char指针:char *p(注意:"字符串指针"没有这个说法,可以叫做指向字符数组的指针)
p = s;或p = &s[0];用指针p指向s数组的首地址。
不知读取是指打印还是引用;假如要访用一个元素,可以用*(p + i),i指偏移量相当于p[i];也可以把p当成数组名用,比如p[2]指的是数组s的第三个元素,假如把‘a’赋给第n个元素:*(p+n-1) = 'a';或p[n-1] = 'a';
如果直接用指针存个字符串:前提是字符串大小不能超过30 - 1;scanf("%s",p);复制可以使用
strcpy(p,"..........")等;
如果不通过指向字符数组:那么必须要内存分配,用到malloc函数;
例如p = (char *)malloc(sizeof(char) *30);给指针p分配一个大小30字节的内存用来存储字符串;
接下来和上面差不多,不过p[30]必须是有结束符'\0';
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-28
字符串指针变量里存储的事字符串第一个字符的地址,

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网