pointer problem


 
Thread Tools Search this Thread
Top Forums Programming pointer problem
# 8  
Old 01-20-2012
Quote:
Originally Posted by nishrestha
wierddddd :O
There's nothing weird about this...as Corona688 noted you cant assign a pointer the address of a constant...your compiler is broken so get a new one.
# 9  
Old 01-20-2012
edit: nevermind...your compiler's parser is more off than my mental parser, lol.

Last edited by DreamWarrior; 01-20-2012 at 09:31 PM..
# 10  
Old 02-10-2012
Operator precedence: the first expression returns the address of x which is then incremented. The second one attempts to increment the address of x. I think.

What was your intent?
# 11  
Old 02-10-2012
DonDoerner: What is the address you're supposed to get from &(x-1) ?

There isn't one of course, since a mathematical expression isn't a variable. Post-increment and pre-increment are in the same category.
# 12  
Old 02-10-2012
So, if I recall correctly, '&' and '++' have the same level of precedence, and are evaluated left-to-right. If this is the case, the first expression increments x, then takes the address of it. Though likely meaningless, this is legal from the code snippet we are seeing.

The second expression takes the address of x and increments it, which the compiler can recognize as nonsense.

But again, I have to ask: what was the intent, what did the author of this question intend?
# 13  
Old 02-10-2012
&x++ is nonsense either way.

If it takes the & first and converts X into an address, it cannot do ++ on it because ++ requires an lvalue, not an expression.

If it takes the ++ first, then tries to take the address of it, it cannot, because x++ is an expression, not an lvalue.

Only the OP can tell you what he wanted, and he never came back...
# 14  
Old 06-13-2012
The result is undefined.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Scanf() string pointer problem

I have a problem with scanf() for string pointer as member of a struct. #include <stdio.h> #include <stdlib.h> struct Student { int studentNumber; int phoneNumber; char *studentName; //line 7 // char studentName; //line 8 }; int... (10 Replies)
Discussion started by: yifangt
10 Replies

2. Programming

unidirectional linked list pointer problem

I am trying to test some operations on a directed list. However, the declaration of a pointer is giving me trouble. I seem to have done something incorrectly because I get an error: "listtest.c:29: warning: 'p' may be used uninitialized in this function" Can anyone help? This is my code... (6 Replies)
Discussion started by: bluetxxth
6 Replies

3. Programming

pass a pointer-to-pointer, or return a pointer?

If one wants to get a start address of a array or a string or a block of memory via a function, there are at least two methods to achieve it: (1) one is to pass a pointer-to-pointer parameter, like: int my_malloc(int size, char **pmem) { *pmem=(char *)malloc(size); if(*pmem==NULL)... (11 Replies)
Discussion started by: aaronwong
11 Replies

4. Programming

Need help in character pointer

Hi, I am trying to divide my input to different type of out puts for some other use. ex: logical_name : jkl00001 expected out put : model=jkl and num=00001 here is the code i actually written /*******************************************************************/ void... (11 Replies)
Discussion started by: jagan_kalluri
11 Replies

5. Programming

String and pointer problem

i am having a string like " X1 " ---> string lenght is 30 I have stored this to a chararry . ref so here ref = " X1 " now i trim the left space by my function . Si the string now becomes "X1 " ---> string lenght is 15... (3 Replies)
Discussion started by: arunkumar_mca
3 Replies

6. Programming

far pointer

what is far pointer in C (1 Reply)
Discussion started by: useless79
1 Replies

7. Programming

pointer problem

could any one tell why the following is showing segmentation fault while using **ptr but working fine using **a #include<stdio.h> ... (1 Reply)
Discussion started by: useless79
1 Replies

8. Programming

why we never delete a pointer twice

can u tell me the reson that why we should not delete a pointer twice.? if we delete ponter twice then what happen and why this happen Regards, Amit (2 Replies)
Discussion started by: amitpansuria
2 Replies

9. Programming

pointer

void main() { int a={1,2,3,4,5,6,7,8,9,10}; int *p=a; int *q=&a; cout<<q-p+1<<endl; } The output is 10, how? if we give cout<<q it will print the address, value won't print.... if we give cout<<p it will print the address, value won't print.... p has the base addr; q... (1 Reply)
Discussion started by: sarwan
1 Replies

10. Programming

Problem with function which reutrns pointer to a value

i have a function: char *pcCityIdToCountryName(ADMIN_DB_DATA *pstHEader, unit uiCityID) this returns a pointer to CountryName if cityId is given. to retrieve countryname i give: char *CountryName; CountryName = pcCityIdToCountryName(..................); but when i compile it is giving :... (5 Replies)
Discussion started by: jazz
5 Replies
Login or Register to Ask a Question