Why this work properly:
unsigned char* tab1;
int main()
{
unsigned char* tab2;
tab1 = new unsigned char[5];
for(unsigned char i=0; i<5; i++){
tab1[i] = i;
}
for(unsigned char x=0; x<5; x++){
printf("%u\t",tab1[x]);
}
tab2 = tab1;
for(unsigned char y=0; y<5; y++){
printf("%u\t",tab2[y]);
}
}
And this don't work:
unsigned char* tab1;
void fun(unsigned char* x){
x = tab1;
}
int main()
{
unsigned char* tab2;
tab1 = new unsigned char[5];
for(unsigned char i=0; i<5; i++){
tab1[i] = i;
}
for(unsigned char x=0; x<5; x++){
printf("%u\t",tab1[x]);
}
fun(tab2);
for(unsigned char y=0; y<5; y++){
printf("%u\t",tab2[y]);
}
}
I can't assign pointer to pointer by function? If I can, how to do it? First version gave me 0 1 2 3 4, second 1 0 0 0 0, why?
std::coutinstead ofprintfif sailing through c++ waters.