begin process at 2010 02 09 22:38:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

pointers


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pointers

samedi 13 octobre 2007 à 05:33:06 | pointers

hhhp2004

Salut,

Je debute en C++ et j'ai qulques questions sur les pointers:

1. Comment on peut savoir l'adresse dans la memoire d'un element d'un tableau de type char?
    Par example: 

 #include <iostream>
using namespace std;

int main()
{
 char tabStr[] = "Salut!";
 char *myPtr;

 myPtr = &tabStr[1];

 cout << myPtr << "\n";

 return 0;
}
le code ci-haut ecrit sur l'ecran 'alut!' au lieu d'une adresse.

2. Quand une fonction retourne un pointer vers un tableau defini dans cette fonction ... qu'est-ce qui se passe avec ce tableau quand la fonction est quittee?
Par example:

#include <iostream>
using namespace std;

int *getValues();

int *getValues()
{
 cout << "Veuillez entrer 2 nombres: ";
 int tabValues[2];

 cin >> tabValues[0] >> tabValues[1];

 return tabValues;
}

int main()
{
 int *myPtr;

 myPtr=getValues();

 cout << myPtr[1] << "\n";

 return 0;
}
 
L'example marche dans le sens que cout << myPtr[1] << "\n"; va ecrire sur l'ecran le deuxieme nombre que vous avez tappe ... mais j'ai toujours de doutes parce que on nous a dit que les variables definies dans une fonction se detruisent lors de la sortie de cette fonction.

Merci

samedi 13 octobre 2007 à 05:37:52 | Re : pointers

gamemonde

Membre Club
1 cout << &var
2 - il sera detruit car ton pointeur est creer a l'interieur
utilise fonction(int *pTab)
samedi 13 octobre 2007 à 20:36:06 | Re : pointers

juju12

Pour ta question 2:
en fait ca marche parce que ton tableau interne à la fonction est déclaré sur la pile; comme le code ne fait quasiment rien après la mémoire n'a pas encore été réécrite avec d'autres données-> tu retrouves tes données.
Cependant c'est un hasard et il ne faut jamais compter dessus lorsque tu prog : des données déclarées statiquement dans une fonction ne doivent pas être utilisées quand la fonction a retourné.


Cette discussion est classée dans : int, cout, pointers, myptr, tabvalues


Répondre à ce message

Sujets en rapport avec ce message

Pas compris les arguments [ par Bog ] Bonjour.Voila à chaque fois que je me lance dans un projet de programmation C++, je suis tjrs bloqué par certaines choses, surtout les arguments, et c Pas compris les arguments [ par Bog ] Bonjour.Voila à chaque fois que je me lance dans un projet de programmation C++, je suis tjrs bloqué par certaines choses, surtout les arguments, et c Dans le genre prenant........ [ par Xs ] oui !c 'est trés chiant !j'explique mon pb : j'ai un code source, fais par moi-meme, et dedans, je veux que l'on saisisse des renseignement comme le l implicit declaration of function `int getchar(...)' [ par cognac ] À chaque fois que j'utilise getch(); j'obtien le message suivant:getch();Voici mon programme (en fait mon exercice):#include //bibliotheque d'entree Reference pour arguments de fonction! [ par CoxJoe ] Hello,Voila mon code qui est tres simple :# include # include using namespace std;// fonction pour entrer des lettresvoid getchar(char& name[]){ cout une fiche de renseignement [ par cabarrus ] je cherche à faire un programme qui demande des renseignements pour pouvoir ensuite les affiché comme une fiche d'identité!!!voici monprogramme mais m Pobleme de debutant bas niveau [ par zzzzzz ] #include ?iostream.h? /* pour cout cin */int a;int factorielle(int n) { if(n==0) { return 1; } else { return n*factorielle(n-1); }}void main() tableau de structures type pointeur [ par chocho ] Merci d'avoir répondu à ma demande d'aide.Voici la source sur laquelle je coince:#include#include#define maxlist 10int indicecourant;struct abonne simplifier une fraction ( débutant ) !!! [ par myogtha ] #include int main (){int denominateur,mulfac1,mulfac2,facmul1,facmul2,facmulfinal;int a,b,c,d;coutcin>>a;coutcin>&gt Les nombres aléatoires en C++ (Visual C++ 6.0) [ par Yabo ] Tout d'abord voilà le code :CODE #include #include #include #include using namespace std;void animstartscreen() { int n


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 15,397 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales