-->

program to reverse a string using pointer

using codeblocks
--------------------------------------------------------------------------------------------
//program to reverse a string using pointer//comment of program
#include <stdio.h>                         //header file
#include<string.h>
int main()                              //main function
{
    char name[40];                     //character declaration
    char *p;                          //pointer declaration.
    int length;
    puts("enter string\n");           //display of message
    gets(name);                      // gets data/string
    length=strlen(name);             //stores length os string
    p=name+length;     
 // assigning total address as in given string; it becomes total taken from variable length starting from //0.
    //p=name takes address location 0 to pointer.
    while(p>=name)                 //the value of 'p' decreases from total location  until it reaches 0.
    {
        putchar(*p);                 //prints the value stored in particular location
        p--;                             //decreases the value
    }
    return 0;
}
----------------------------------------------------------------------------------------------
using turbo c++
----------------------------------------------------------------------------------------------
//program to reverse a string using pointer//comment of program
#include <stdio.h>                         //header file
#include<string.h>
#include<conio.h>
int main()                              //main function
{
    char name[40];                     //character declaration
    char *p;                          //pointer declaration.
    int length;
    puts("enter string\n");           //display of message
    gets(name);                      // gets data/string
    length=strlen(name);             //stores length os string
    p=name+length;     
 // assigning total address as in given string; it becomes total taken from variable length starting from //0.
    //p=name takes address location 0 to pointer.
    while(p>=name)                 //the value of 'p' decreases from total location  until it reaches 0.
    {
        putchar(*p);                 //prints the value stored in particular location
        p--;                             //decreases the value
    }
getch();
    return 0;
}

program to reverse a string using pointer.

using codeblocks
------------------------------------------------------------------------------------------
//program to reverse a string using pointer//comment of program
#include <stdio.h>                         //header file

int main()                              //main function
{
    char name[40]="ramesh Shrestha";  //assignment of string
    char *p;                          //pointer declaration
    p=name+15;  //p=name takes address location 0 to pointer.

  // assigning total address as in given string; it becomes 15 starting from 0
    while(--p>=name)                 //the value of 'p' decreases from location 15 until it reaches 0.
    {
        putchar(*p);                 //prints the value stored in particular location
    }
    return 0;
}
 ----------------------------------------------------------------------------------------------------

using turboc++
--------------------------------------------------------------------------------------------

//program to reverse a string using pointer//comment of program
#include <stdio.h>                         //header file
#include<conio.h>

int main()                              //main function
{
    char name[40]="ramesh Shrestha";  //assignment of string
    char *p;                          //pointer declaration
    p=name+15;       //p=name takes address location 0 to pointer.
                
// assigning total address as in given string; it becomes 15 starting from 0
    while(--p>=name)                 //the value of 'p' decreases from location 15 until it reaches 0.
    {
        putchar(*p);                 //prints the value stored in particular location
    }
getch();
    return 0;
}

storing character in pointe and displaying them

using codeblocks
--------------------------------------------------------------------------------------------------
//understanding array as pointer      //comment of program
//storing character in an array using pointer and displaying them
#include <stdio.h>                     //header file
int main()
{
    char *p;              //character array pointer
    char  a[5];           //CHARACTER ARRAY
    for(p=a;p<a+5;p++)
    {
     printf("address=%d\n",p);// prints 5 addresses

    }
       for(p=a;p<a+5;p++)   //runs the loop from 0 location to 4th location
       {
        *p=getchar();       //gets character
        putchar(*p);        //prints that character
    }

        return 0;
}

/*note:-
p=a------- it takes address of zeroth element
a+5-----------means upto 5th location
p++--------increase the location by 1
----------------------------
while inputting character,
    It accepts one character, then that is replaced by next address.
    Then it is replaced by next address.
    So altogether, we input three characters.
    */
----------------------------------------------------------------------------------------------------------
using turbo c++
-------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------
//understanding array as pointer      //comment of program
//storing character in an array using pointer and displaying them
#include <stdio.h>                     //header file
#include<conio.h>
int main()
{
    char *p;              //character array pointer
    char  a[5];           //CHARACTER ARRAY
    for(p=a;p<a+5;p++)
    {
     printf("address=%d\n",p);// prints 5 addresses

    }
       for(p=a;p<a+5;p++)   //runs the loop from 0 location to 4th location
       {
        *p=getchar();       //gets character
        putchar(*p);        //prints that character
    }
       getch();
        return 0;
}

Program to know array as pointer

using codeblocks
----------------------------------------------------------------------------------------------------------
//understanding array as pointer      //comment of program
#include <stdio.h>                     //header file
int main()
{
    int a[]={2,3,4,5,6};                 //array with some values
    int i;
    int *p;
    p=a;                               //assigns base address to pointer
    printf("the address of array=%d\n",p);//prints address of array
    p=&a[0];                            //assigns address of zeroth element
    printf("the address of array=%d\n",p);//prints address of zeroth element
    return 0;
}

//note:- In both cases, we get same address.
//Because computer takes address of array same  as of address of zeroth element.
//So , this array acts as pointer

/*If we want to display all addresses of all elements of an array, then
we write ;click below

https://practisingprograms.blogspot.com/2019/01/program-to-understand-array-as-pointer_12.html


*/

program to understand array as pointer

using codeblocks
----------------------------------------------------------------------------------------------------
//understanding array as pointer      //comment of program
#include <stdio.h>                     //header file
int main()
{
    int a[]={2,3,4,5,6};                 //array with some values
    int i;
    int *p;
    p=a;                               //assigns base address to pointer
    printf("the address of array=%d\n",p);//prints address of array
    p=&a[0];                            //assigns address of zeroth element
    printf("the address of zeroth element of array=%d\n",p);//prints address of zeroth element
    printf("all addresses are\n");
    for(i=0;i<=4;i++)
    {
        printf("location=%d and address=%d\n",i,p+i);//it prints address of respective elements
    }
     printf("values  are\n");
    for(i=0;i<=4;i++)
    {
        printf("location=%d and address=%d\n",i,*(p+i));//it prints value of respective location
    }
    return 0;
}

-------------------------------------------------------------------------------------------------
using turbo c++
---------------------------------------------------------------------------------------------
//understanding array as pointer      //comment of program
#include <stdio.h>                     //header file
#include<conio.h>
int main()
{
    int a[]={2,3,4,5,6};                 //array with some values
    int i;
    int *p;
    p=a;                               //assigns base address to pointer
    printf("the address of array=%d\n",p);//prints address of array
    p=&a[0];                            //assigns address of zeroth element
    printf("the address of zeroth element of array=%d\n",p);//prints address of zeroth element
    printf("all addresses are\n");
    for(i=0;i<=4;i++)
    {
        printf("location=%d and address=%d\n",i,p+i);//it prints address of respective elements
    }
     printf("values  are\n");
    for(i=0;i<=4;i++)
    {
        printf("location=%d and address=%d\n",i,*(p+i));//it prints value of respective location
    }
   getch();
    return 0;
}


program to understand array as pointer

using codeblocks
-------------------------------------------------------------------------------------------------------
//understanding array as pointer      //comment of program
#include <stdio.h>                     //header file
int main()
{
    int a[]={2,3,4,5,6};                 //array with some values
    int i;
    printf("the values are\n");
    for(i=0;i<=4;i++)
    {
        printf("location =%d and value=%d\n",i,a[i]);//prints value without pointer
    }
    printf("printing value using array as pointer\n");
    for(i=0;i<=4;i++)
    {
        printf("location =%d and value=%d\n",i,*(a+i));
        //prints value with pointer. 'a' is an array; 'i' is for location.
        //To display value, we use '*' with location; as shown here.
    }
    printf("printing address using array as pointer\n");
    for(i=0;i<=4;i++)
    {
        printf("location =%d and value=%d\n",i,(a+i));//prints address of different location
    }
    return 0;
}
----------------------------------------------------------------------------------------
using turbo c++
---------------------------------------------------------------------------------------------------
//understanding array as pointer      //comment of program
#include <stdio.h>                     //header file
#include<conio.h>
int main()
{
    int a[]={2,3,4,5,6};                 //array with some values
    int i;
    printf("the values are\n");
    for(i=0;i<=4;i++)
    {
        printf("location =%d and value=%d\n",i,a[i]);//prints value without pointer
    }
    printf("printing value using array as pointer\n");
    for(i=0;i<=4;i++)
    {
        printf("location =%d and value=%d\n",i,*(a+i));
        //prints value with pointer. 'a' is an array; 'i' is for location.
        //To display value, we use '*' with location; as shown here.
    }
    printf("printing address using array as pointer\n");
    for(i=0;i<=4;i++)
    {
        printf("location =%d and value=%d\n",i,(a+i));//prints address of different location
    }
   getch();
    return 0;
}

program to compare of two numbers using pointer

//comparison of two numbers using pointer     //comment of program
#include <stdio.h>                           //header file
int main()
{
    float *p,*p1;                        //two pointer declaration
    float x,y;                           //variable declaration
    printf("enter two values for x and y\n");//prints message
    scanf("%f%f",&x,&y);                    // gets input
    p=&x,p1=&y;                        //assigning address to that pointer
    printf("the address of x(%f) is=%f\n",x,p);//display of that address
    printf("the address of y(%f) is=%f\n",y,p1);//display of address of second variable
    if(*p>*p1)                              //comparison of two values using pointer
    {
       printf("%f is greater \n",*p);
    }
    else
    {
        printf("%f is greater \n",*p1);
    }

        return 0;
}
----------------------------------------------------------------------------------------------------

using turboc++
---------------------------------------------------------------------------------------------------
//comparison of two numbers using pointer     //comment of program
#include <stdio.h>                           //header file
#include<conio.h>
int main()
{
    float *p,*p1;                        //two pointer declaration
    float x,y;                           //variable declaration
    printf("enter two values for x and y\n");//prints message
    scanf("%f%f",&x,&y);                    // gets input
    p=&x,p1=&y;                        //assigning address to that pointer
    printf("the address of x(%f) is=%f\n",x,p);//display of that address
    printf("the address of y(%f) is=%f\n",y,p1);//display of address of second variable
    if(*p>*p1)                              //comparison of two values using pointer
    {
       printf("%f is greater \n",*p);
    }
    else
    {
        printf("%f is greater \n",*p1);
    }
       getch();
        return 0;
}