vault backup: 2024-11-01 13:18:59
This commit is contained in:
parent
77e7cdf760
commit
2e3053784b
@ -0,0 +1,20 @@
|
|||||||
|
1. Suppose that the following declarations are in effect:....
|
||||||
|
a. `14`
|
||||||
|
b. `34`
|
||||||
|
c. `4`
|
||||||
|
d. `true`
|
||||||
|
e. `false`
|
||||||
|
|
||||||
|
2. Suppose that `high`, `low`, and `middle` are all pointer variables of the same type, and the `low` and `high` point to elements of an array. Why is the following statement illegal, and how could it be fixed?
|
||||||
|
```c
|
||||||
|
middle = (low + high) / 2
|
||||||
|
```
|
||||||
|
The above statement is illegal because you can't add an `int *` to an `int *`. The below operation is legal because you can perform pointer subtraction, and because `low` is defined on the left hand side of the equation, then adding a long to a pointer is valid.
|
||||||
|
```c
|
||||||
|
middle = low + (high - low) / 2;
|
||||||
|
```
|
||||||
|
|
||||||
|
3. What will be the contents of the `a` array after the following statements are executed?
|
||||||
|
```c
|
||||||
|
{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}
|
||||||
|
```
|
@ -1,20 +1,8 @@
|
|||||||
1. Suppose that the following declarations are in effect:....
|
> 1. If `i` is a variable and `p` points to `i`, which of the following expressions are aliases for `i`?
|
||||||
a. `14`
|
|
||||||
b. `34`
|
|
||||||
c. `4`
|
|
||||||
d. `true`
|
|
||||||
e. `false`
|
|
||||||
|
|
||||||
2. Suppose that `high`, `low`, and `middle` are all pointer variables of the same type, and the `low` and `high` point to elements of an array. Why is the following statement illegal, and how could it be fixed?
|
a. `*p`
|
||||||
```c
|
g. `*&i`
|
||||||
middle = (low + high) / 2
|
|
||||||
```
|
|
||||||
The above statement is illegal because you can't add an `int *` to an `int *`. The below operation is legal because you can perform pointer subtraction, and because `low` is defined on the left hand side of the equation, then adding a long to a pointer is valid.
|
|
||||||
```c
|
|
||||||
middle = low + (high - low) / 2;
|
|
||||||
```
|
|
||||||
|
|
||||||
3. What will be the contents of the `a` array after the following statements are executed?
|
> 2. If `i` is an `int` variable and `p` and `q` are pointers to `int`, which of the following assignments are legal?
|
||||||
```c
|
|
||||||
{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}
|
a.
|
||||||
```
|
|
Loading…
Reference in New Issue
Block a user