Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
What is the difference between char a[] = “string”; and char *p = “string”; ?
What is the difference between char a[] = “string”; and char *p = “string”; ?
✍: Guest
Answer1
a[] = “string”;
char *p = “string”;
The difference is this:
p is pointing to a constant string, you can never safely say
p[3]=’x';
however you can always say a[3]=’x';
char a[]=”string”; - character array initialization.
char *p=”string” ; - non-const pointer to a const-string.( this is permitted only in the case of char pointer in C++ to preserve backward compatibility with C.)
Answer2
a[] = “string”;
char *p = “string”;
a[] will have 7 bytes. However, p is only 4 bytes. P is pointing to an adress is either BSS or the data section (depending on which compiler — GNU for the former and CC for the latter).
Answer3
char a[] = “string”;
char *p = “string”;
for char a[]…….using the array notation 7 bytes of storage in the static memory block are taken up, one for each character and one for the terminating nul character.
But, in the pointer notation
char *p………….the same 7 bytes required, plus N bytes to store the pointer variable “p” (where N
depends on the system but is usually a minimum of 2 bytes and can be 4 or more)……
2012-03-08, 2868👍, 0💬
Popular Posts:
What is the difference between Session State and ViewState? ViewState is specific to a page in a ses...
What will be printed as the result of the operation below: main() { int x=20,y=35; x=y++ + x++; y= +...
How Do I Run JUnit Tests from Command Window? To run JUnit tests from a command window, you need to ...
What Is C Language? The C programming language is a standardized programming language developed in t...
What will be printed as the result of the operation below: main() { int a=0; if (a==0) printf("Cisco...