![]() |
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| High Level Programming Post questions about C, C++, Java, SQL, and other programming languages here. |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| if statement | ramky79 | Shell Programming and Scripting | 6 | 05-29-2008 03:17 AM |
| IF Statement | koti_rama | Shell Programming and Scripting | 3 | 04-29-2008 04:48 AM |
| If statement - How to write a null statement | april | Shell Programming and Scripting | 3 | 04-16-2008 01:14 PM |
| using && in if statement .. | jisha | Shell Programming and Scripting | 7 | 02-01-2008 07:52 AM |
| If statement | mariner | UNIX for Advanced & Expert Users | 4 | 12-16-2004 07:21 AM |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
||||
|
What does this statement mean?
If I declare a structure as:
Code:
typedef struct
{
int id;
void* ptr;
int size;
} kpage_t;
Code:
*((kpage_t**)page->ptr) = page; ![]() And if there's a macro BASEADDRESS(x) defined as Code:
((void*)(((int) (x)) & ~(PAGESIZE-1))) |
|
||||
|
pointers
*((kpage_t**)page->ptr) = page;
This means that page is holding an address of the structure kpage_t(ie kpage_t *) ptr is of type void * and thus can be made to point to any address, which can be address of any type no matter its an address of another address storing variable thus page->ptr is an address which points to another address and that address is an address where a variable of type kpage_t is residing Then regarding the macro question ((void*)(((int) (x)) & ~(PAGESIZE-1))) This would yeild 0 if the PAGESIZE is a in 2^n Regards, RUV |
![]() |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|