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
字符串指针变量里存储的事字符串第一个字符的地址,

c语言中,字符串指针怎样实现对字符串的读取与存储?
如果直接用指针存个字符串:前提是字符串大小不能超过30 - 1;scanf("%s",p);复制可以使用 strcpy(p,"...")等;如果不通过指向字符数组:那么必须要内存分配,用到malloc函数;例如p = (char *)malloc(sizeof(char) *30);给指针p分配一个大小30字节的内存用来存储字符串;接下来和上面差不多...

c语言中将字符串用指针数组输入输出..
首先确定是字符指针数组还是字符数组指针,前者是一个数组,数组每个元素都是一个字符指针,后者是一个指向字符数组的指针。若是指向字符数组的指针,则很简单,使用scanf("%s",str);函数获取输入的字符串,然后使用字符串拷贝函数strcpy(stc,dest);将获取的字符串拷贝到指定地址的字符指针数组中,拷贝过程...

c语言 怎么将字符串中的地址取出其内存输出
我们一般说的字符串的地址,就是指字符串首元素的地址。比如:char str[10];这样的数组。它的地址就是其str[0]的地址。所以可以表示为str,或者&str[0]。如果说取其他元素的地址,&str[对应下标]就可以了。因为地址连续,定义指针接收,还可以通过指针加减获取对应元素地址。比如char *p=&str[2];...

C语言,字符串指针作实参传值的问题。
使用strcpy呗,反正你用gets读入的,最后都会有'\\0'吧。void swap(char *a,char *b){ char temp[20]; strcpy(temp, a); strcpy(a, b); strcpy(b, temp);}这样试试。

c语言输入字符串
首先,函数使用fgets函数实现输入操作,它从标准输入流(stdin)读取字符串,并将其存储到str中。fgets会读取直到遇到换行符或达到指定长度(len)为止的内容。这样,用户可以直接在键盘上输入字符串,函数会将其截取并保存。在输入完成后,为了确保字符串的正确结束,函数会将str中的最后一个字符设置为空...

c语言怎么保存字符串?
1、在c语言中存储一个字符串,一般有两种方法,一种是字符指针,一种是使用字符数组。2、例如:const char *str = "hello"; \/\/使用字符串指针 const char str[] = "hello"; \/\/使用字符数组 3、如果保存的字符串,需要修改。一般使用字符数组。例如:char path[256] = "c:\\\\windows\\\\";strc...

关于c语言中指针操作字符串和指针取值的问题
如果你想打印一个字符,应该是%c而不是%s 应该写为printf("%s\\n",(buf+1)); 或者 printf("%c\\n",*(buf+1)); (输出是e)问题二和一应该是同样的错误 printf("%s\\n",p);是打印整个字符串'test'如果你只打印一个字符,比如s printf("%c\\n",*(p+2));...

C语言程序 用指针实现字符串比较函数strcmp
还是你两个字符串的分隔?所以当你输入abc,abc的时候计算识别你的第一个字符串是abc,abc 第二个字符串为\\n 所以你这里得到的始终是1 至于解决的办法:让计算机识别你的分隔符号 那方法就很多了,比如 scanf("%s%s",a,b);输入的时候用空白符(空格,tab,回车键)相间隔 ...

c语言怎么保存字符串
1、使用字符数组存储;2、使用字符指针储存字符串;3、把字符串a复制给字符串b,注意字符串都是以0结尾的。字符串是由数字字母下划线组成的一串字符。它是编程语言中表示文本的数据类型。在程序设计中,字符串为符号或数值的一个连续序列,如符号串或二进制数字串。字符串的存储形式类似于字符数组。

C语言,字符串指针指向的字符串,那个字符串存储在哪个位置?
&idxbuf:取地址,%p与指针对应,是输出指针的地址。address:0x7ffeffc9f0b0,就是字符串指针idxbuf指向的字符串存储在内存中的地址位置。你要字符串指针idxbuf的随机分配的地址,只需要 printf("before idxbuf address:%p\\n",&idxbuf);这一语句就可以了,原来的程序编译有点问题,修改之后通过:运行...

相似回答