what is the difference between
const char *p, char const *p, const char* const p
Answers were Sorted based on User's Feedback
Answer / kumar krishna
CONST char *p;
here the const. keyword is coming before the "*p"
So it affects the value pointed by "p" i.e. "*p"
You can't change the character (value pointed by p).
Although you can change the address stored in "p".
char CONST *p;
same explanation as above
char * CONST p;
here the const. keyword is coming before the "p" and
after "*" So it affects the value of "p" (which holds
the address). You can't change the address stored in
"p". Although you can change the value pointed by p
i.e. "*p"
CONST char* CONST p:
here CONST is coming before the "*" as well as after
the "*". Therefore, as expeected neither the address
of nor the value pointed by "p" can be changed.
| Is This Answer Correct ? | 170 Yes | 11 No |
const char*p - p is pointer to the constant character i.e
value in that address location is constact
char const *p - same as above
const char* const p - p is the constant pointer which
points to the constant string, both value and address are
constants
| Is This Answer Correct ? | 115 Yes | 49 No |
Answer / vignesh1988i
CONST char *p:
here the const. keyword is coming before the data
type... so the string here will be the constant but not he
pointer...
char CONST *p:
here also the string will be the constant but not the
pointer...
CONST char* CONST p:
here both , the string as well the pointer will be constant
| Is This Answer Correct ? | 64 Yes | 32 No |
Answer / magdaleen
In a const char *p the chrac pointed by 'p' is a const, so
u cant change the value of the charac ponted by 'p', but u
can make 'p' refer to some other location.
In a char const *p, the ptr 'p' is constant not the
character refered by it, so u can not make 'p' refer to
anyother location, but u can change the value of the charac
pointed by 'p'
| Is This Answer Correct ? | 10 Yes | 4 No |
Answer / bhargav
Const char *P ->
declares a pointer through which you may be able to access
a char but you can not change it through the said pointer.
But the pointer itself can be changed.
char const *p ->
in this the value is constant
const char* const p ->
both address and value are constants
| Is This Answer Correct ? | 13 Yes | 22 No |
/*program to calculate hra,da in salary if salary less than 10000 then hra15%,da13% otherwise hra20%,da18%/*
What are the primitive data types in c?
Famous puzzles which are generally asked by companies during interviews ?
can we execute the program with the object file
how can you print&scan anything using just one character? :) HINT: printf,scanf similer
What do you mean by scope of a variable in c?
what are bitwise shift operators?
What is the advantage of a random access file?
a=(1,2,3); b=1,2,3; c=1,(2,3); d=(1,2),3; what's the value of 'a','b','c','d'
Explain Doubly Linked Lists?
What is variable declaration and definition in c?
#define MAX(x,y) (x) >(y)?(x):(y) main() { inti=10,j=5,k=0; k= MAX(i++,++j); printf("%d..%d..%d",i,j,k); }