All C program code Examples

Dynamic Memory Location

// calloc( ) function with Dynamic Array

#include

#include

int main()
{
int *p;
int i, n, s;

printf( ” Enter Number of Terms : ” );
scanf( “%d”, &n );
p = (int *)calloc( n, sizeof(int) );

if( !p )
printf( “\nUnable to allocate size.\n” );
else
{
for( i=0 ; i<n ; i++ )
{
printf( ” Enter Value : ” );
scanf( “%d”, (p+i) );
}

printf( ” Values are : ” );
s = 0;
for( i=0 ; i<n ; i++ )
{
printf( ” %d”, *(p+i) );
s = s + *(p+i);
}
printf( “\n Sum of Elements = %d”, s );
}

free( p );

return 0;
}

Output:

Enter Number of Terms : 5
Enter Value : 20
Enter Value : 40
Enter Value : 60
Enter Value : 80
Enter Value : 100
Values are : 20 40 60 80 100
Sum of elements = 300

// malloc( ) function with single variable

#include

#include

int main ()
{
int *p;

p = ( int* ) malloc(1 * sizeof( int ) );
*p = 23;

printf( “\n Value : %d”, *p );
free( p );

return 0;
}

Output:

Value : 23

// use realloc( ) function

#include

#include
#include

int main()
{
int *p;
int i, x, n, s;

printf( ” Enter Size of Dynamic Array : ” );
scanf( “%d”, &n );
p = (int *)malloc(n * sizeof(int) );

if( !p )
printf( “\nUnable to allocate size.\n” );
else
{
for( i=0 ; i<n ; i++ )
{
printf( ” Enter Value : ” );
scanf( “%d”, (p+i) );
}

printf( ” Values are : ” );
s = 0;
for( i=0 ; i<n ; i++ )
{
printf( ” %d”, *(p+i) );
s = s + *(p+i);
}
printf( “\n Sum of Elements = %d”, s );

x = n;
printf( “\n\n Enter New Size of Dynamic Array : ” );
scanf( “%d”, &n );

realloc( p, n * sizeof(int) );

if( !p )
{
printf( “\nUnable to allocate size \n” );
exit( 1 );
}

for( i=x ; i<n ; i++ )
{
printf( ” Enter Additional Value : ” );
scanf( “%d”, (p+i) );
}

printf( ” Values are : ” );
s = 0;
for( i=0 ; i<n ; i++ )
{
printf( ” %d”, *(p+i) );
s = s + *(p+i);
}
printf( “\n Sum of elements = %d”, s );
}

free( p );

return 0;
}

Output:

Enter Size of Dynamic Array : 5
Enter Value : 20
Enter Value : 40
Enter Value : 60
Enter Value : 80
Enter Value : 100
Values are : 20 40 60 80 100
Sum of elements = 300

Enter New Size of Dynamic Array : 7
Enter Additional Value : 120
Enter Additional Value : 140
Values are : 20 40 60 80 100 120 140
Sum of elements = 560

// calloc( ) function with single variable

#include

#include

int main ()
{
int *p;

p = ( int* ) calloc( 1, sizeof( int ) );
*p = 23;

printf( “\n Value : %d”, *p );
free( p );

return 0;
}

Output:

Value : 23

// malloc( ) function with String

#include

#include
#include

int main ()
{
char s1[25] = “Nils Patel”;
int len = strlen( s1 );
char *ps;

ps = ( char* ) malloc( ( len+1 ) * sizeof( int ) );
strcpy( ps, s1 );

printf( “\n ps = %s”, ps );
free( ps );

return 0;
}

Output:

ps = Nils Patel

// malloc( ) function with Array

#include

#include

int main ()
{
int *p;
int i;

p = ( int* ) malloc( 5 * sizeof( int ) );

for( i=0 ; i<5 ; i++ )
{
printf( ” Enter Value : ” );
scanf( “%d”, (p+i) );
}

printf( “\n Values are : ” );
for( i=0 ; i<5 ; i++ )
{
printf( ” %d”, *(p+i) );
}
free( p );

return 0;
}

Output:

Enter Value : 10
Enter Value : 23
Enter Value : 15
Enter Value : 45
Enter Value : 50

Values are : 10 23 15 45 50

// malloc( ) function with Dynamic Array

#include

#include

int main()
{
int *p;
int i, n, s;

printf( ” Enter Number of Terms : ” );
scanf( “%d”, &n );
p = (int *) malloc( n * sizeof(int) );

if( !p )
printf( “\nUnable to allocate size \n” );
else
{
for( i=0 ; i<n ; i++ )
{
printf( ” Enter Value : ” );
scanf( “%d”, (p+i) );
}

printf( ” Values are : ” );
s = 0;
for( i=0 ; i<n ; i++ )
{
printf( ” %d”, *(p+i) );
s = s + *(p+i);
}
printf( “\n Sum of elements = %d”, s );
}

free( p );

return 0;
}

Output:

Enter Number of Terms : 5
Enter Value : 20
Enter Value : 40
Enter Value : 60
Enter Value : 80
Enter Value : 100
Values are : 20 40 60 80 100
Sum of elements = 300