Fazer os seguintes programas:
O que será exibido na saída padrão quando o programa abaixo for executado?
int main() { int varInt = 444; double varDouble = 4.4; int varInt2 = 555; int* p1; double* p2; void* p3; double* p4; printf("sizeof: p1 = %d p2 = %d p3 = %d\n",sizeof(p1),sizeof(p2),sizeof(p3)); p1 = &varInt; p2 = &varDouble; p3 = &varInt2; printf("p1 = &varInt\n"); printf("p2 = &varDouble\n"); printf("p3 = &varInt2\n"); printf("identificador\tEndereco\tConteudo\n"); printf("varInt\t\t%d\t\t%d\n", &varInt, varInt); printf("varDouble\t%d\t\t%f\n", &varDouble, varDouble); printf("varInt2\t\t%d\t\t%d\n", &varInt2, varInt2); printf("p1\t\t%d\t\t%d\n", &p1, p1); printf("p2\t\t%d\t\t%d\n", &p2, p2); printf("p3\t\t%d\t\t%d\n", &p3, p3); p3 = &varDouble; printf("p3 = &varDouble\n"); printf("identificador\tEndereco\tConteudo\n"); printf("p3\t\t%d\t\t%d\n", &p3, p3); printf("*p1 = %d\n", *p1); printf("*p2 = %f\n", *p2); p4 = (double *) p3; printf("*p4 = %f\n", *p4); return 0; }
int main() { float var1 = 2.22; float var2 = 6.66; int var3 = 4; float* p1 = &var1; float* p2 = &var2; int* p3 = &var3; //O conteúdo da variável apontada por p1 recebe //o conteúdo da variável apontada por p2 *p1 = *p2; printf("var1 = %f\n", var1); printf("var2 = %f\n", var2); //O conteúdo da variável apontada por p1 recebe 1.11 *p1 = 1.11; printf("var1 = %f\n", var1); printf("var2 = %f\n", var2); //p1 aponta para onde p2 aponta p1 = p2; *p1 = 9.99; printf("var1 = %f\n", var1); printf("var2 = %f\n", var2); return 0; }
int main() { int var1 = 444; int var2 = 555; double var3 = 4.4; int var4[] = {15, 20, 30}; int* p1 = &var1; int* p2 = &var2; double* p3 = &var3; int* p4 = var4; //ou p4 = &var4[0] printf("*p1 = %d\n", *p1); printf("*p2 = %d\n", *p2); printf("*p3 = %f\n", *p3); printf("*p4 = %d\n", *p4); printf("*p4+1 = %d\n", *p4+1); printf("*(p4 + 1) = %d\n", *(p4 + 1)); printf("var4[1] = %d\n", var4[1]); //O conteudo da variavel apontada por p1 recebe //o conteudo da var. apontada por p2 *p1 = *p2; printf("var1 = %d\n", var1); printf("var2 = %d\n", var2); //O conteudo da variavel apontada por p1 recebe 111 *p1 = 111; printf("var1 = %d\n", var1); printf("var2 = %d\n", var2); //p1 aponta para onde p2 aponta p1 = p2; *p1 = 66; printf("var1 = %d\n", var1); printf("var2 = %d\n", var2); //p1 aponta para o elemento de indice 0 de var4 p1 = &var4[0]; printf("*p1 = %d\n", *p1); p1 = var4; printf("*p1 = %d\n", *p1); var1 = *p1 * 100; printf("var1 = %d\n", var1); return 0; }
Por © Sidney Batista Filho - 18/05/2004