|
| struct_param.java | struct-param.c |
|---|---|
class BankAccount
{
int accNum;
double balance;
};
public class struct_param
{
public static void f( BankAccount x )
{
x.accNum = 888;
x.balance = 9999.0;
}
public static void main(String[] argv)
{
BankAccount a;
a = new BankAccount( ); // Create the objects
a.accNum = 123;
a.balance = 1000.0;
System.out.printf("a = (%d, %f)\n", a.accNum, a.balance);
f(a); // Pass a
/* ===================================================
Proof that objects in Java are passed by reference
=================================================== */
System.out.printf("a = (%d, %f)\n", a.accNum, a.balance);
}
}
|
#include <stdio.h>
struct BankAccount
{
int accNum;
double balance;
};
void f( struct BankAccount x )
{
x.accNum = 888;
x.balance = 9999.0;
}
int main(int argc, char *argv[])
{
struct BankAccount a;
a.accNum = 123;
a.balance = 1000.0;
printf("a = (%d, %f)\n", a.accNum, a.balance);
f(a); // Pass a
/* ===================================================
Proof that objects in C are passed by value
=================================================== */
printf("a = (%d, %f)\n", a.accNum, a.balance);
}
|
Output of the Java program:
cs255-1@aruba (5681)> java struct_param a = (123, 1000.000000) a = (888, 9999.000000) |
Output of the C program:
cs255-1@aruba (5681)> java struct_param a = (123, 1000.000000) a = (123, 1000.000000) |
How to run the program:
|