INTERVIEW QUESTIONS
C
OPERATORS IN C
DETAILS
Question: What is a const pointer?
Answer: The access modifier keyword const is a promise the programmer makes to the compiler that the value of a variable will not be changed after it is initialized. The compiler will enforce that promise as best it can by not enabling the programmer to write code which modifies a variable that has been declared const.
A “const pointer,” or more correctly, a “pointer to const,” is a pointer which points to data that is const (constant, or unchanging). A pointer to const is declared by putting the word const at the beginning of the pointer declaration. This declares a pointer which points to data that can’t be modified. The pointer itself can be modified. The following example illustrates some legal and illegal uses of a const pointer:
const char *str = “hello”; char c = *str /* legal */ str++; /* legal */ *str = ‘a’; /* illegal */ str[1] = ‘b’; /* illegal */
|
Question:
What is a const pointer?
Answer:
The access modifier keyword const is a promise the programmer makes to the compiler that the value of a variable will not be changed after it is initialized. The compiler will enforce that promise as best it can by not enabling the programmer to write code which modifies a variable that has been declared const.
A “const pointer,” or more correctly, a “pointer to const,” is a pointer which points to data that is const (constant, or unchanging). A pointer to const is declared by putting the word const at the beginning of the pointer declaration. This declares a pointer which points to data that can’t be modified. The pointer itself can be modified. The following example illustrates some legal and illegal uses of a const pointer:
const char *str = “hello”; char c = *str /* legal */ str++; /* legal */ *str = ‘a’; /* illegal */ str[1] = ‘b’; /* illegal */ Source: CoolInterview.com
const pointer: pointer is a constant which points the address of another variable we can't change the pointer(or otherwords can't change the address, pointer points to)
char c[100]="Hello"; char d[100]="Human"; char *const ptr=c; //ptr points c ptr=d;/* Illegal*/ ptr[3]='Y'; /* Legal*/
pointer to const: The address pointed by pointer is constand that means we can't change the const location value using pointer
char c[100]="Hello"; char d[100]="Human"; const char *p=c; p[2]='M'; /* Illegal */ p=d; /* Legal */
VENKATGOPU Source: CoolInterview.com
Answered by: VENKATGOPU | Date: 2/20/2010
| Contact VENKATGOPU
If you have the better answer, then send it to us. We will display your answer after the approval.
Rules to Post Answers in CoolInterview.com:-
- There should not be any Spelling Mistakes.
- There should not be any Gramatical Errors.
- Answers must not contain any bad words.
- Answers should not be the repeat of same answer, already approved.
- Answer should be complete in itself.
|