Download Android App in your Android Device from Google Play Store
- Search for "Withoutbook Practice Exam Test" in Mobile/Tablet Play Store
Practice InterviewNew Search by Name or Email

Exams Attended

Make Homepage

Bookmark this page

Subscribe Email Address

C Interview Questions and Answers

Ques. What is the difference between char a[] = ?string?; and char *p = ?string?; ?
Ans.
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)??
Is it helpful? Yes No

Most helpful rated by users:

©2020 WithoutBook