#include<stdio.h>
show()//默认返回int型,一般不要这么写!!!
{
}
void fun(int a) //void抽象类型
{
printf("fun\n");
printf("a:%d\n",a);
int *p=&a;
printf("%d\n",*(p+1));
printf("%d\n",*(p+2));
}
void fun(void)//仍然把数据传递进去了
{
printf("fun\n");
printf("a:%d\n",a);
int *p=&a;
printf("%d\n",*(p+1));
printf("%d\n",*(p+2));
}
int main()
{
fun(12,23,34);//在.c文件下可以编译通过,参数实际上传递进去了,.cpp文件中不允许
void a;//错误
int ar[10]={12,23};
double dx=12.23;
char *cp=nullptr;
int *s=&a;
void *sp=nullptr;//无类型指针
sp=&ar;
sp=ar;
sp=&dx;
sp=cp;
sp=&s;//二级指针
sp=&sp;
//*sp=100; 错误,无类型指针不能解引用
//sp=sp+1; 错误,无类型指针不知道加多少
//s=(int*)sp; 在c语言中编译器自动强制转换,c++中如果不写强制转换,不会编译通过
return 0;
}
结果: