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 |
How many types of arrays are there in c?
Can we initialize extern variable in c?
What are the advantages and disadvantages of pointers?
write a program of palindrome(madam=madam) using pointer?
what is the significance of static storage class specifier?
What is an lvalue and an rvalue?
what is the purpose of the following code, and is there any problem with the code? void fn(long* p1, long* p2) { register int x = *p1; register int y = *p2; x ^= y; y ^= x; x ^= y; *p1 = x; *p2 = y; }
Write a program that accepts a string where multiple spaces are given in between the words. Print the string ignoring the multiple spaces. Example: Input: “ We Are Student “ Output: "We Are Student"
Ow can I insert or delete a line (or record) in the middle of a file?
You have given 2 array. You need to find whether they will create the same BST or not. For example: Array1:10 5 20 15 30 Array2:10 20 15 30 5 Result: True Array1:10 5 20 15 30 Array2:10 15 20 30 5 Result: False One Approach is Pretty Clear by creating BST O(nlogn) then checking two tree for identical O(N) overall O(nlogn) ..we need there exist O(N) Time & O(1) Space also without extra space .Algorithm ?? DevoCoder guest Posted 3 months ago # #define true 1 #define false 0 int check(int a1[],int a2[],int n1,int n2) { int i; //n1 size of array a1[] and n2 size of a2[] if(n1!=n2) return false; //n1 and n2 must be same for(i=0;i<n1-1;i++) { if( !( (a1[i]>a1[i+1]) && (a2[i]>a2[i+1]) ) ) return false; } return true;//assumed that each array doesn't contain duplicate elements in themshelves }
main() { intj; while9j<=10) { printf("\n%d",j); j=j+1; } }
What is character constants?