Ecrasement variable incompréhensible
Bonjour à tous,
je suis nouveau mais je me permets de venir poster ici car j'ai un souci que je ne sais pas réglé.
J'explique mon problème:
J'ai un code qui dispose des instructions suivantes :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| //declaration d'un tableau
int row_ptr[]={0,2,5,8,12,16,19};
//affichage de l'adresse
printf("&row_ptr = %p\n",&row_ptr);
//affectation au champ rowPtr du tableau
matCSR.rowPtr=row_ptr;
//affichage de l'adresse
printf("&matCSR.rowPtr = %p\n",&matCSR.rowPtr[0]);
//[...]
//affichage un peu plus loin dans le code
printf("&matCSR.rowPtr= %p\n",&matCSR.rowPtr[0]);
//creation d'une nouvelle variable et affectation
Partial_Mat_CSR_t info_matCSR=convertToPartialCSRFormat(&matCSR_block_tmp);
//affichage de l'adresse de cette variable
printf("&info_matCSR = %p\n",&info_matCSR); |
et lorsque j'execute j'obtiens ceci :
Code:
1 2 3 4 5
| &row_ptr = 0x7fff82115c40
&matCSR.rowPtr = 0x7fff82115c40
&matCSR.rowPtr= 0x7fff82115c40
&info_matCSR = 0x7fff82115c40 |
et lorsque j'affiche le contenu de mon tableau à la fin j'obtiens :
Code:
ROW POINTER : [ 6 6 19 6 6 19 1 ]
Donc ma variable info_matCSR a pour adresse la même que celle de row_ptr et je ne comprends pas pourquoi ...
Quelqu'un a déja été dans ce cas la?
Merci d'avance de m'aider ou de me donner des pistes.