15.what is the disadvantage of using macros?
16.what is the self-referential structure?
17.can a union be self-referenced?
18.What is a pointer?
19.What is the Lvalue and Rvalue?
20.what is the difference between these initializations?
21.Char a[]=”string”;
22.Char *p=”literal”;
23.Does *p++ increment p, or what it points to?
Answer Posted / vignesh1988i
15)
the disadvantage is... th macros will blindly substitute the
values which we have defined......
#define sr(s) s+s
main()
{
....
...
int c;
c=sr(10)/5;
}
can u guess what will be the output..... 12... but i want
4.... the macros wil get substitute like this before
compailation
c=s+s/5;
since '/' symbol gets the first prirority... thatr wil
happen first.... but we dont wann this.... so this is an
idiotic mode of substitution............. this is its dis
advantages.......
16...
this structure pointer which points to the same structure
whrer its declared is called self referencial structure
18...
pointer are secondary constants and are derived data types
whic can hold only the address of particular data type .. as
same as the pointer is declared..
int *p;
thid m eans that it can hold hold only the address of an
integer and points to that memory location.........
19...
Lvalue is called left assignment value..... Rvalue right
assignment value;;;
if you give: x+y=m; in C statement ... it will
show these types of errors
21...in char a[]="string";
hrer we are initilizing the array of characters to an
array called a..... and implicitely it will add '\0' at last...
22... in char *p="literal";
here p is an character pointer which can hold the
address of an character type of values....
hrer p hold the address of 'l'... this is called as base
address of the array..... when we maniplate the p value (ie)
when we do pointer arithmetic we can print and those the
full string...
23...
*p++
here * has the first precedence compared to ++ operator
therefore.. the pointer p , where it is pointing at present
that value will be incremented.......
for eg:
char q[]="sorry";
char *p;
p=&q[0];
*p++;
printf("%c",p);
now the pointer points to the very first
character of q[].. when we give *p++, *p will be 's' then
while getting incremented it will increment the ascii value
.... so the OUTPUT will be 't'...........
thank you
| Is This Answer Correct ? | 3 Yes | 4 No |
Post New Answer View All Answers
What is the use of printf() and scanf() functions?
How can you avoid including a header more than once?
write a C program:There is a mobile keypad with numbers 0-9 and alphabets on it. Take input 0f 7 keys and then form a word from the alphabets present on the keys.
Differentiate Source Codes from Object Codes
I have a varargs function which accepts a float parameter?
Explain pointer. What are function pointers in C?
How do you define structure?
How can my program discover the complete pathname to the executable from which it was invoked?
Is c still relevant?
How can this be legal c?
general for is %wd,f-d; in this system "w" means a) 'w' represent total width of digits b) 'w' represent width which includes the digits before,after decimal place and the decimal point c) 'w' represent width which includes the digits before only d) 'w' represent width after decimal place only
Should I learn c before c++?
How will you print TATA alone from TATA POWER using string copy and concate commands in C?
Explain how many levels deep can include files be nested?
What are pointers?