#include<iostream>
//#include<string>
//#include<stdio.h>
//using namespace std;
void*
test_i(){
int a = 1<<10;
//int* pa = NULL; //Using the sign 'NULL' , it need to include iostream or stdio.h header files.
//int* pa = &a;
void* pa = &a;
return pa;
}
int
main(int argc, char* argv[]){
int count = 0;
//int* ppa = test_i();
void* ppa = test_i();
int* pppa = (int*) ppa;
std::cout<<ppa<<" "<pppa<std::endl;
//std::cout<<"*ppa:"<<*ppa<<" *pppa:"<<*pppa<<std::endl; // this statement compiled error
// 'void*' is not a pointer-to-object type
std::cout<" *pppa:"<<*pppa<<std::endl;
// outputs: *pppa:0
//printf("ppa = %p pppa=%p *ppa=%d *pppa=%d",ppa,pppa,0,*pppa);
// error: 'void*' is not a pointer-to-object type so reverse the *ppa to zero
// otherwise outputs are:
// ppa = 000000000061FDB4 pppa=000000000061FDB4 *ppa=0 *pppa=1024
return 0;
}