C
chump1708
line 50 - char *b, q, *r;
line 200 - b = getbuf ();
Line 201 q = *b;
Line 212 R = anotherfunction (b);
Lines 213-2003 /* we want to use 'q' and 'r' here */
Line2000 char * getbuf ()
Line2001 {
Line 2002 char buff [8];
Lines 2003-2050 /* unspecified buff defined here */
Line 2051 return (char*) buff;
Line 2052 }
1. What will be in variable 'q' after line 201 is executed?
Under what conditions might this not be so?
2. Is there an alternative, but equivalent, way to write line
2000? If so, what is it?
3. Is getbuf() a reasonable function?
4. Will getbuf() execute at all?
5. Please comment on line 2051.
6. Is getbuf() good practice, and why?
7. What line not given should be provided for compilation?
8. How, exactly, could one get a second 'char*' to use back from
this function? Be specific in terms of the exact syntax needed. (That
is, provide code.) Another way to state this question is how can this
function be modified to return a 'char*' (that is, it maintains the
same return type) from the function, and an additional 'char *'
value in one function call. Please make sure that your answer will work
even if the size of the char * desired is not known in the outside
calling function. Avoid (do no use) C++ syntax. Include statement in
called and calling functions. Use good programming practice.
9. What's the difference between system calls and library functions?
line 200 - b = getbuf ();
Line 201 q = *b;
Line 212 R = anotherfunction (b);
Lines 213-2003 /* we want to use 'q' and 'r' here */
Line2000 char * getbuf ()
Line2001 {
Line 2002 char buff [8];
Lines 2003-2050 /* unspecified buff defined here */
Line 2051 return (char*) buff;
Line 2052 }
1. What will be in variable 'q' after line 201 is executed?
Under what conditions might this not be so?
2. Is there an alternative, but equivalent, way to write line
2000? If so, what is it?
3. Is getbuf() a reasonable function?
4. Will getbuf() execute at all?
5. Please comment on line 2051.
6. Is getbuf() good practice, and why?
7. What line not given should be provided for compilation?
8. How, exactly, could one get a second 'char*' to use back from
this function? Be specific in terms of the exact syntax needed. (That
is, provide code.) Another way to state this question is how can this
function be modified to return a 'char*' (that is, it maintains the
same return type) from the function, and an additional 'char *'
value in one function call. Please make sure that your answer will work
even if the size of the char * desired is not known in the outside
calling function. Avoid (do no use) C++ syntax. Include statement in
called and calling functions. Use good programming practice.
9. What's the difference between system calls and library functions?