Exercise: Python

Questions for: Arrays

Is there any difference int the following declarations?
int fun(int arr[]);
int fun(int arr[2]);
A:
Yes
B:
No
C:
D:
Answer: B

No, both the statements are same. It is the prototype for the function fun() that accepts one integer array as an parameter and returns an integer value.

Does this mentioning array name gives the base address in all the contexts?
A:
Yes
B:
No
C:
D:
Answer: B

No, Mentioning the array name in C or C++ gives the base address in all contexts except one.

Syntactically, the compiler treats the array name as a pointer to the first element. You can reference elements using array syntax, a[n], or using pointer syntax, *(a+n), and you can even mix the usages within an expression.

When you pass an array name as a function argument, you are passing the "value of the pointer", which means that you are implicitly passing the array by reference, even though all parameters in functions are "call by value".

A pointer to a block of memory is effectively same as an array
A:
True
B:
False
C:
D:
Answer: A

Yes, It is possible to allocate a block of memory (of arbitrary size) at run-time, using the standard library's malloc function, and treat it as an array.

Which of the following statements are correct about an array?
1: The array int num[26]; can store 26 elements.
2: The expression num[1] designates the very first element in the array.
3: It is necessary to initialize the array at the time of declaration.
4: The declaration num[SIZE] is allowed if SIZE is a macro.
A:
1
B:
1,4
C:
2,3
D:
2,4
Answer: B

1. The array int num[26]; can store 26 elements. This statement is true.

2. The expression num[1] designates the very first element in the array. This statement is false, because it designates the second element of the array.

3. It is necessary to initialize the array at the time of declaration. This statement is false.

4. The declaration num[SIZE] is allowed if SIZE is a macro. This statement is true, because the MACRO just replaces the symbol SIZE with given value.

Hence the statements '1' and '4' are correct statements.

Which of the following statements are correct about 6 used in the program?
int num[6];
num[6]=21;
A:
In the first statement 6 specifies a particular element, whereas in the second statement it specifies a type.
B:
In the first statement 6 specifies a array size, whereas in the second statement it specifies a particular element of array.
C:
In the first statement 6 specifies a particular element, whereas in the second statement it specifies a array size.
D:
In both the statement 6 specifies array size.
Answer: B

The statement 'B' is correct, because int num[6]; specifies the size of array and num[6]=21; designates the particular element(7th element) of the array.

Ad Slot (Above Pagination)
Quiz