Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


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?

Answers were Sorted based on User's Feedback



15.what is the disadvantage of using macros? 16.what is the self-referential structure? 17.can a u..

Answer / abdur rab

The difference between
21...in char a[]="string";
22... in char *p="literal";

is

in char a[]="string";, the memory is allocated, so the
value can be changed, it can be incremented, etc.

where as in char *p="literal";, you can just read it, may
be you can increment the pointer to point to the next
location, the content cannot be changed since this is a
string literal or BSS (Block Started by Symbol). This is
often called "const_data" or "data_const", or "literal".

23. *p++ it gets the content, and then increments the
pointer to the next location.

eg:

char a[] = {"string"};
char x;
char* p = (char*) a;

x = *p++;

printf ( "%c\n, %s\n", x, p );

output
======
s
tring

Is This Answer Correct ?    2 Yes 0 No

15.what is the disadvantage of using macros? 16.what is the self-referential structure? 17.can a u..

Answer / 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

More C Interview Questions

c language supports bitwise operations, why a) 'c' language is system oriented b) 'c' language is problem oriented c) 'c' language is middle level language d) all the above

0 Answers  


Where is volatile variable stored?

0 Answers  


What is string in c language?

0 Answers  


What is the value of y in the following code? x=7;y=0; if(x=6) y=7; else y=1;

12 Answers   TCS,


Which is better oop or procedural?

0 Answers  


What are the Advantages of using macro

0 Answers  


What are pointers? What are different types of pointers?

0 Answers   Fidelity,


main() { float f1=10.5; double db1=10.5 if(f1==db1) printf("a"); else printf("b") }

2 Answers   CSC,


n=7623 { temp=n/10; result=temp*10+ result; n=n/10 }

7 Answers   Wipro,


from which concept of 'c', the static member function of 'c++' has came?

1 Answers   Bosch,


Explain why C language is procedural?

0 Answers   GE,


An instruction which is analysed and acted upon by the processor prior to the compiler going its work a) directive b) constructive c) constant d) absolute mode

0 Answers  


Categories