The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > High Level Programming
.
google unix.com



High Level Programming Posez vos questions à propos de C, C + +, Java, SQL, et d'autres langages de programmation ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
if ramky79 De programmation et de script Shell 6 05-29-2008 03:17 AM
SI Déclaration koti_rama De programmation et de script Shell 3 04-29-2008 04:48 AM
If - Comment écrire une déclaration null avril De programmation et de script Shell 3 04-16-2008 01:14 PM
en utilisant & & if .. JISHA De programmation et de script Shell 7 02-01-2008 07:52 AM
If mariner UNIX for Advanced & Expert Users 4 12-16-2004 07:21 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 11-17-2007
Legend986 Legend986 is offline
Registered User
  
 

Join Date: Sep 2007
Messages: 171
Qu'est-ce que cette déclaration veut dire?

Si je déclare une structure comme:

Code:
typedef struct
	{
		int id;
		void* ptr;
		int size;
	} kpage_t;
Et puis l'utiliser pour faire un peu l'initialisation ...

Code:
*((kpage_t**)page->ptr) = page;
Qu'est-ce que fait-on? J'ai quelques problèmes avec les pointeurs ici ...

Et si il ya une macro BASEADDRESS (x) définie comme
Code:
((void*)(((int) (x)) & ~(PAGESIZE-1)))
Qu'est-ce qui se passe ici, en supposant que PAGESIZE est une puissance de deux chiffres ...
  #2 (permalink)  
Old 11-17-2007
uvrakesh uvrakesh is offline
Registered User
  
 

Join Date: Dec 2005
Posts: 75
pointeurs

* ((kpage_t **) page-> ptr) \u003d page;

Cela signifie que la page est la tenue d'une adresse de la structure kpage_t (c'est-à-dire kpage_t *)

ptr est du type void *, et donc peut être fait au point à n'importe quelle adresse, qui peut être l'adresse de n'importe quel type de son, peu importe l'adresse d'une autre adresse de stockage variable

ce page-> ptr est une adresse qui renvoie à une autre adresse et que l'adresse est une adresse où une variable de type kpage_t est résident

Ensuite, en ce qui concerne la question de la macro
((void *)((( int) (x)) & ~ (PAGESIZE-1)))

Cela permettrait de 0 si le PAGESIZE est en 2 ^ n

Observe,
RUV
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 01:09 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0