关于使用malloc和char数组指针的c中的分段错误

qfqwerqgfzsdfew

我试图制作一个程序,该程序可以读取我们编写的内容,而无需考虑内存,并打印出我们编写的内容!但这会导致分段错误(核心转储)

#include <stdio.h>
#include <string.h>

int isdigit(char c); 
int main()
{
    char *input
    int length;

    printf("Number or Letter\n");
    gets(input);
    input = (char*)malloc(sizeof(char)*strlen(input));
    printf(input[0]);
    return 0;
}
4386427

要读入任意长的输入字符串,当输入字符串超出已分配的内存范围时,必须使用某种内存重新分配方法。例如,您可以这样使用realloc

#include <stdio.h>
#include <stdlib.h>

#define INCREASE 32

int main(void) {
    int c;
    int allocated = INCREASE;
    int used = 1;
    char* in = malloc(allocated*sizeof(char));
    if (!in) exit(1);
    *in = '\0';

    while((c = fgetc(stdin)) != EOF && c != '\n')
    {
        if (used > (allocated-1))
        {
            // printf("Realloc\n");
            allocated += INCREASE;
            char* t = realloc(in, allocated);
            if (t)
            {
                in = t;
            }
            else
            {
                free(in);
                exit(1);
            }
        }

        in[used-1] = c;
        in[used] = '\0';
        ++used;
    }
    printf("%s\n", in);
    free(in);
    return 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

c中的char指针导致分段错误

来自分类Dev

使用char指针(C)的分段错误

来自分类Dev

使用malloc,char数组和指针

来自分类Dev

使用malloc的C中的分段错误

来自分类Dev

在结构中的char *上使用malloc的分段错误

来自分类Dev

使用一维数组的C malloc分段错误

来自分类Dev

C中的分段错误,同时声明了大指针数组

来自分类Dev

C,关于指针(或指向指针的指针?),**和malloc

来自分类Dev

C中指针数组的分段错误错误

来自分类Dev

C和指针加法中的Char数组

来自分类Dev

使用数组时 C 中的分段错误

来自分类Dev

在 C 中使用结构和指针时出现分段错误

来自分类Dev

双指针的 malloc 分段错误

来自分类Dev

C - malloc 和结构,分段错误

来自分类Dev

使用C中的指针打印Char数组

来自分类Dev

使用int指针参数时C中的分段错误

来自分类Dev

使用链表中的指针结构时出现C分段错误

来自分类Dev

使用链表中的指针结构时出现C分段错误

来自分类Dev

malloc导致C中的分段错误

来自分类Dev

malloc导致C中的分段错误

来自分类Dev

使用堆栈和帧指针的分段错误

来自分类Dev

C中的分段错误,与char *函数一起使用

来自分类Dev

C取消引用指针中的分段错误

来自分类Dev

使用结构指针的C ++分段错误

来自分类Dev

使用 strcmp 和 char *arr[] 的分段错误

来自分类Dev

分段错误(C ++指针)

来自分类Dev

C中的Char数组指针

来自分类Dev

关于指向char的指针数组

来自分类Dev

为什么指针char在结构环境中引起分段错误