Memory usage with parameters
#include <stdio.h>
void in_out(int *, int *);
void in_only(int, int);
void out_only(int *, int *);
int main(void)
{
int number1 = 50, number2 = 42;
printf("\nIn main ");
printf("\nValue of number1 = %d\n", number1);
printf("Address of number1 = %x\n", &number1);
printf("\nValue of number2 = %d\n", number2);
printf("Address of number2 = %x\n", &number2);
in_out(&number1, &number2);
printf("\nIn main ");
printf("\nValue of number1 = %d\n", number1);
printf("Address of number1 = %x\n", &number1);
printf("\nValue of number2 = %d\n", number2);
printf("Address of number2 = %x\n", &number2);
in_only(number1, number2);
printf("\nIn main ");
printf("\nValue of number1 = %d\n", number1);
printf("Address of number1 = %x\n", &number1);
printf("\nValue of number2 = %d\n", number2);
printf("Address of number2 = %x\n", &number2);
out_only(&number1, &number2);
printf("\nIn main ");
printf("\nValue of number1 = %d\n", number1);
printf("Address of number1 = %x\n", &number1);
printf("\nValue of number2 = %d\n", number2);
printf("Address of number2 = %x\n", &number2);
return (0);
}
void in_out(int *number1, int *number2)
{
printf("\nIn in_out ");
printf("\nValue of *number1 = %d", *number1);
printf("\nValue of number1 = %x\n", number1);
printf("Address of number1 = %x\n", &number1);
printf("\nValue of *number2 = %d", *number2);
printf("\nValue of number2 = %x\n", number2);
printf("Address of number2 = %x\n", &number2);
*number1 = 100;
*number2 = 200;
}
void in_only(int num1, int num2)
{
printf("\nIn in_only ");
printf("\nValue of num1 = %d\n", num1);
printf("Address of num1 = %x\n", &num1);
printf("\nValue of num2 = %d\n", num2);
printf("Address of num2 = %x\n", &num2);
num1 = 100;
num2 = 200;
}
void out_only(int *num1, int *num2)
{
printf("\nIn out_only ");
printf("\nValue of *num1 = %d", *num1);
printf("\nValue of num1 = %x\n", num1);
printf("Address of num1 = %x\n", &num1);
printf("\nValue of *num2 = %d", *num2);
printf("\nValue of num2 = %x\n", num2);
printf("Address of num2 = %x\n", &num2);
*num1 = 10;
*num2 = 20;
}
In main
Value of number1 = 50
Address of number1 = 1ffff108
Value of number2 = 42
Address of number2 = 1ffff100
In in_out
Value of *number1 = 50
Value of number1 = 1ffff108
Address of number1 = 1ffff0e8
Value of *number2 = 42
Value of number2 = 1ffff100
Address of number2 = 1ffff0e0
In main
Value of number1 = 100
Address of number1 = 1ffff108
Value of number2 = 200
Address of number2 = 1ffff100
In in_only
Value of num1 = 100
Address of num1 = 1ffff0e8
Value of num2 = 200
Address of num2 = 1ffff0e0
In main
Value of number1 = 100
Address of number1 = 1ffff108
Value of number2 = 200
Address of number2 = 1ffff100
In out_only
Value of *num1 = 100
Value of num1 = 1ffff108
Address of num1 = 1ffff0e8
Value of *num2 = 200
Value of num2 = 1ffff100
Address of num2 = 1ffff0e0
In main
Value of number1 = 10
Address of number1 = 1ffff108
Value of number2 = 20
Address of number2 = 1ffff100