字符指针数组的输入 您所在的位置:网站首页 字符指针数组的长度怎么设置 字符指针数组的输入

字符指针数组的输入

2024-06-22 09:04| 来源: 网络整理| 查看: 265

关于“c语言从键盘输入字符串到指针数组”的问题 今天敲了一段代码,遇到了从键盘输入多个字符串到指针数组的问题,在程序执行的时候出现了段错误的提示。本文主要涉及到了以下知识:

数据的存储 数组和指针 1.字符串常量的存储 c语言中字符串常量存储在静态数据区,并且有字符串结束符,直到程序运行结束它才会被销毁,所以在程序中我们把一个字符串常量赋值给一个字符指针,如:

char *pChar = “Hello World!”; 其中,”Hello World!”是一个字符串常量,pChar是一个字符指针。该句相当于将字符’H’在静态数据区中的地址赋给pChar。此时,字符串常量”Hello World!”只有一份存储在静态数据区。

另外一种常见的类型是将一个字符串常量赋值给一个字符数组,而其余上面的指针形式有本质上的区别,如下:

char str[] = “Hello World!”; 其中,”Hello World!”是一个字符串常量,str是一个字符数组。此时,程序会将字符串常量”Hello World!”拷贝一份到栈区(如果str是局部变量),从此将于字符串常量”Hello World!”再无联系。

2.从键盘输入字符串 从上面可以看出,我们可以给一个字符指针赋一个字符串常量,因为字符串常量在内存中真实存在且有其地址。而从键盘输入则不然,我们必须先分配一些空间用来存储键盘输入的字符串,例如:

char* str = (char*)malloc(sizeof(char) * 100); scanf("%s", str); 这样我们输入的字符串就会存储在str所指向的动态空间内。对指针数组的赋值参考以上即可。 https://www.cnblogs.com/mensanu/p/7979462.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有