1 character strings in c and c are implemented as


1. Character strings in C and C++ are implemented as arrays of char. These arrays can be initialized to string constants, as in char name [] = "freddie";

The array name will have eight elements, because all strings are terminated with a null character (zero), which is implicitly supplied by the system for string constants.

Arrays of strings in C and C++ can also be initialized with string literals. In this case, the array is one of pointers to characters. For example,

char *names [] = {"Bob", "Jake", "Darcie"};

This example illustrates the nature of character literals in C and C++. In the previous example of a string literal being used to initialize the char array name, the literal is taken to be a char array. But in the latter example (names), the literals are taken to be pointers to characters, so the array is an array of pointers to characters. For example, names[0] is a pointer to the letter 'B'in the literal character array that contains the characters 'B', 'o', 'b', and the null character.

In Java, similar syntax is used to define and initialize an array of references to String objects. For example,

String[] names = ["Bob", "Jake", "Darcie"];

From above it shows one way to create an array of strings in C or C++:

Char *name[] = {"Bob", "Jake", "Darcie"};

There is another way to get a similar effect, however:

Char *name[] [7] = {"Bob", "Jake", "Darcie"};

Compare these two techniques with respect to ease of use and efficiency.

2. a. Which class (es) in Java API represented associative array?

b. Which class(es) in the C++ standard library represent associative arrays?

3. Translate the following Ada record type into Java. Your translation should be as close to the original as possible.

type Employee_Name_Type is
record
    First: String(1..20);
    Middle: String(l..10);
    Last: String(1..20);
end record;

4. Suppose that L1 is the list ((A B) C D) and L2 is the list ((E) F). give the value of each of the following LISP expression:

1. (CONS (CAR L1) (LIST (CDR L2)))

2. (CONS (CAR (CDR L2)) (CAR L1))

3. (CDR ( CONS (CAR (CONS 'G L1)) ' (H))

4. (LIST (LIST (CAR L1) L2) 'G)

5.

a. Are the unions in Modula-2 considered to be "free unions"? Explain your answer.

b. type Shape is (Circle, Triangle, Rectangle);

type Colors is (Red, Green, Blue);

type Figure (Form : Shape) is

    record

Filled : Boolean;

Color : Colors;

case Form is

     when Circle =>

Diameter : Float;

     when Triangle =>

     Left_Side : Integer;

     Right_Side : Integer;

     Angle : Float;

   when Rectangle =>

Side_1 : Integer;

Side_2 : Integer;

end case;

  end record;

Translate the Ada variant record (above) to Modula-2.

6. a. what is the purpose of the restrict keyword in C99?

b. Give an example showing how restrict is used.

7. a. Give the minimum size of the following C++ structure, assuming that char and bool values occupy one byteintand float values occupy four bytes, double values occupy eight bytes, and pointers occupy four bytes.

struct s {

    char a;

    int b;

    bool *c;

    char d[5];

    union {

  int *e[3];

  float f;

  double g;

    };

};

b. Assuming that the structure has its minimum size, what is the offset of each member from the beginning of the structure? ( The offset of a will be 0, for example.) Include the offsets of ef, and g in your answer.

Request for Solution File

Ask an Expert for Answer!!
Application Programming: 1 character strings in c and c are implemented as
Reference No:- TGS0501626

Expected delivery within 24 Hours