<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Desineni Gireesh</title>
    <description>The latest articles on DEV Community by Desineni Gireesh (@gireeshdesineni).</description>
    <link>https://dev.to/gireeshdesineni</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F193034%2F89a457ab-7cdc-4f1a-8404-4b6e0528649d.jpg</url>
      <title>DEV Community: Desineni Gireesh</title>
      <link>https://dev.to/gireeshdesineni</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gireeshdesineni"/>
    <language>en</language>
    <item>
      <title>my c stack program</title>
      <dc:creator>Desineni Gireesh</dc:creator>
      <pubDate>Wed, 10 Jul 2019 08:42:20 +0000</pubDate>
      <link>https://dev.to/gireeshdesineni/my-c-stack-program-1nb6</link>
      <guid>https://dev.to/gireeshdesineni/my-c-stack-program-1nb6</guid>
      <description>&lt;p&gt;open for output&lt;br&gt;
&lt;a href="https://repl.it/@gireeshdg/ConstantPracticalAnimatronics"&gt;https://repl.it/@gireeshdg/ConstantPracticalAnimatronics&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  include 
&lt;/h1&gt;

&lt;h1&gt;
  
  
  include 
&lt;/h1&gt;

&lt;p&gt;struct node&lt;br&gt;
{&lt;br&gt;
    int info;&lt;br&gt;
    struct node *ptr;&lt;br&gt;
}*top,*top1,*temp;&lt;/p&gt;

&lt;p&gt;int topelement();&lt;br&gt;
void push(int data);&lt;br&gt;
void pop();&lt;br&gt;
void empty();&lt;br&gt;
void display();&lt;br&gt;
void destroy();&lt;br&gt;
void stack_count();&lt;br&gt;
void create();&lt;/p&gt;

&lt;p&gt;int count = 0;&lt;/p&gt;

&lt;p&gt;void main()&lt;br&gt;
{&lt;br&gt;
    int no, ch, e;&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;printf("\n 1 - Push");
printf("\n 2 - Pop");
printf("\n 3 - Top");
printf("\n 4 - Empty");
printf("\n 5 - Exit");
printf("\n 6 - Dipslay");
printf("\n 7 - Stack Count");
printf("\n 8 - Destroy stack");
create();
while (1)
{
    printf("\n Enter choice : ");
    scanf("%d", &amp;amp;ch);

    switch (ch)
    {
    case 1:
        printf("Enter data : ");
        scanf("%d", &amp;amp;no);
        push(no);
        break;
    case 2:
        pop();
        break;
    case 3:
        if (top == NULL)
            printf("No elements in stack");
        else
        {
            e = topelement();
            printf("\n Top element : %d", e);
        }
        break;
    case 4:
        empty();
        break;
    case 5:
        exit(0);
    case 6:
        display();
        break;
    case 7:
        stack_count();
        break;
    case 8:
        destroy();
        break;
    default :
        printf(" Wrong choice, Please enter correct choice  ");
        break;
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;}&lt;br&gt;
void create()&lt;br&gt;
{&lt;br&gt;
    top = NULL;&lt;br&gt;
}&lt;br&gt;
void stack_count()&lt;br&gt;
{&lt;br&gt;
    printf("\n No. of elements in stack : %d", count);&lt;br&gt;
}&lt;br&gt;
void push(int data)&lt;br&gt;
{&lt;br&gt;
    if (top == NULL)&lt;br&gt;
    {&lt;br&gt;
        top =(struct node *)malloc(1*sizeof(struct node));&lt;br&gt;
        top-&amp;gt;ptr = NULL;&lt;br&gt;
        top-&amp;gt;info = data;&lt;br&gt;
    }&lt;br&gt;
    else&lt;br&gt;
    {&lt;br&gt;
        temp =(struct node *)malloc(1*sizeof(struct node));&lt;br&gt;
        temp-&amp;gt;ptr = top;&lt;br&gt;
        temp-&amp;gt;info = data;&lt;br&gt;
        top = temp;&lt;br&gt;
    }&lt;br&gt;
    count++;&lt;br&gt;
}&lt;br&gt;
void display()&lt;br&gt;
{&lt;br&gt;
    top1 = top;&lt;br&gt;
    if (top1 == NULL)&lt;br&gt;
    {&lt;br&gt;
        printf("Stack is empty");&lt;br&gt;
        return;&lt;br&gt;
    }&lt;br&gt;
    while (top1 != NULL)&lt;br&gt;
    {&lt;br&gt;
        printf("%d ", top1-&amp;gt;info);&lt;br&gt;
        top1 = top1-&amp;gt;ptr;&lt;br&gt;
    }&lt;br&gt;
 }&lt;br&gt;
void pop()&lt;br&gt;
{&lt;br&gt;
    top1 = top;&lt;br&gt;
    if (top1 == NULL)&lt;br&gt;
    {&lt;br&gt;
        printf("\n Error : Trying to pop from empty stack");&lt;br&gt;
        return;&lt;br&gt;
    }&lt;br&gt;
    else&lt;br&gt;
        top1 = top1-&amp;gt;ptr;&lt;br&gt;
    printf("\n Popped value : %d", top-&amp;gt;info);&lt;br&gt;
    free(top);&lt;br&gt;
    top = top1;&lt;br&gt;
    count--;&lt;br&gt;
}&lt;br&gt;
int topelement()&lt;br&gt;
{&lt;br&gt;
    return(top-&amp;gt;info);&lt;br&gt;
}&lt;br&gt;
void empty()&lt;br&gt;
{&lt;br&gt;
    if (top == NULL)&lt;br&gt;
        printf("\n Stack is empty");&lt;br&gt;
    else&lt;br&gt;
        printf("\n Stack is not empty with %d elements", count);&lt;br&gt;
}&lt;br&gt;
void destroy()&lt;br&gt;
{&lt;br&gt;
    top1 = top;&lt;br&gt;
    while (top1 != NULL)&lt;br&gt;
    {&lt;br&gt;
        top1 = top-&amp;gt;ptr;&lt;br&gt;
        free(top);&lt;br&gt;
        top = top1;&lt;br&gt;
        top1 = top1-&amp;gt;ptr;&lt;br&gt;
    }&lt;br&gt;
    free(top1);&lt;br&gt;
    top = NULL;&lt;br&gt;
    printf("\n All stack elements destroyed");&lt;br&gt;
    count = 0;&lt;br&gt;
}&lt;/p&gt;

</description>
      <category>replit</category>
      <category>c</category>
    </item>
  </channel>
</rss>
