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

struct stackNode
{
    int data;
    struct stackNode *nextPtr;
};


void instructions()
{
    printf("[1]Push a value on the stack\n");
    printf("[2]Pop a value off the stack\n");
    printf("[3]Display the whole stack\n");
    printf("[4]Exit");
}

void push(struct stackPtr *topPtr, int info)
{
    struct stackPtr *newPtr;
    newPtr= malloc(sizeof(struct stackNode));
    if(newPtr !=NULL)
    {
        newPtr->data = info;
        newPtr->nextPtr=*topPtr;
        *topPtr=newPtr;
    }
    else
    {
        printf("%d not inserted no memory available");
    }

int main()
{
    struct StackNodePtr *stackPtr;
    stackPtr = NULL;
    int choice, value;
    do
    {
        instructions();
        printf("\nEnter Your Choice: ");
        scanf("%d",&choice);
        if(choice == 1)
        {
            printf("Enter  a value for the stack");
        }
        if(choice == 2)
        {
            printf(" ");
        }
        if(choice == 3)
        {
            printf(" ");
        }
        if(choice == 4 )
        {
            printf("bye!");
            return 0;
        }
    } while(choice !=4);
    system("pause");
}

我为我的链表和堆栈代码做了一个函数推送,但问题是它不起作用,函数推送中有很多错误,怎么了?它不允许使用malloc为什么?

最佳答案

这对你有用吗?

struct stackNode { int data; struct stackNode *nextPtr; };

int main() { struct stackNode * stackPtr = NULL; }

关于c - 链表推送功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5579321/

10-15 14:24