Questions marquées «pointers»

330
Pointeurs vs valeurs dans les paramètres et valeurs de retour

Dans Go, il existe différentes façons de renvoyer un struct valeur ou une tranche de celle-ci. Pour les individus que j'ai vus: type MyStruct struct { Val int } func myfunc() MyStruct { return MyStruct{Val: 1} } func myfunc() *MyStruct { return &MyStruct{} } func myfunc(s *MyStruct) { s.Val = 1...

309
Quelle est la différence entre NULL, '\ 0' et 0?

En C, il semble y avoir des différences entre les différentes valeurs de zéro - NULL, NULet 0. Je sais que le caractère ASCII correspond '0'à 48ou 0x30. Le NULLpointeur est généralement défini comme: #define NULL 0 Ou #define NULL (void *)0 De plus, il y a le NULpersonnage '\0'qui semble également...

298
Pointeurs en C: quand utiliser l'esperluette et l'astérisque?

Je commence juste avec des pointeurs et je suis un peu confus. Je sais &signifie l'adresse d'une variable et qui *peut être utilisée devant une variable de pointeur pour obtenir la valeur de l'objet pointé par le pointeur. Mais les choses fonctionnent différemment lorsque vous travaillez avec...

264
Pourquoi l'opérateur flèche (->) en C existe-t-il?

L' .opérateur point ( ) est utilisé pour accéder à un membre d'une structure, tandis que l'opérateur flèche ( ->) dans C est utilisé pour accéder à un membre d'une structure qui est référencé par le pointeur en question. Le pointeur lui-même n'a pas de membres accessibles avec l'opérateur point...

257
Utilisation de l'opérateur flèche (->) en C

Je lis un livre intitulé "Teach Yourself C in 21 Days" (j'ai déjà appris Java et C # donc je me déplace à un rythme beaucoup plus rapide). Je lisais le chapitre sur les pointeurs et l' opérateur-> (flèche) est apparu sans explication. Je pense qu'il est utilisé pour appeler des membres et des...

256
Pointeur vs référence

Quelle serait la meilleure pratique pour attribuer à une fonction la variable d'origine avec laquelle travailler: unsigned long x = 4; void func1(unsigned long& val) { val = 5; } func1(x); ou: void func2(unsigned long* val) { *val = 5; } func2(&x); IOW: Y a-t-il une raison de choisir l'un...

246
size_t contre uintptr_t

La norme C garantit qu'il size_ts'agit d'un type pouvant contenir n'importe quel index de tableau. Cela signifie que, logiquement, size_tdevrait pouvoir contenir n'importe quel type de pointeur. J'ai lu sur certains sites que j'ai trouvés sur Google que cela est légal et / ou devrait toujours...

243
Pointeur vers le membre de données de classe «:: *»

Je suis tombé sur cet extrait de code étrange qui compile très bien: class Car { public: int speed; }; int main() { int Car::*pSpeed = &Car::speed; return 0; } Pourquoi C ++ a-t-il ce pointeur vers un membre de données non statique d'une classe? Quelle est l'utilité de cet étrange pointeur dans...