C语言中的指针有哪些不同类型?
指针是一个变量,用于存储另一个变量的地址。
指针的语法如下-
pointer = &variable;
指针类型
有八种不同类型的指针,如下所示:
空指针
虚空指针
野指针
悬空指针
复合指针
近指针
远指针
巨大的指针
空指针
通过在指针声明时分配空值来创建空指针。
当您不给指针分配任何地址时,此方法很有用。空指针始终包含值0。
例子
以下是空指针的C程序-
#include <stdio.h>
int main(){
int *ptr = NULL; //空指针
printf("The value inside variable ptr is:\n%d",ptr);
return 0;
}输出
执行以上程序后,将产生以下结果-
The value inside variable ptr is: 0
虚空指针
它是一个没有关联数据类型的指针。空指针可以保存任何类型的地址,并且可以类型转换为任何类型。
它也称为通用指针,没有任何标准数据类型。
它是通过使用关键字void创建的。
例子
以下是void指针的C程序-
#include <stdio.h>
int main(){
void *p = NULL; //空指针
printf("The size of pointer is:%d\n",sizeof(p)); //p的大小取决于编译器
return 0;
}输出
执行以上程序后,将产生以下结果-
The size of pointer is:8
野指针
通配指针也称为未初始化的指针。因为,它们指向任意的内存位置,并且可能导致程序崩溃或性能下降。
这种类型的C指针效率不高。因为,它们可能指向某些未知的内存位置,这可能会导致我们的程序出现问题。这可能导致程序崩溃。
建议在使用野指针时要谨慎。
例子
以下是用于野指针的C程序-
#include <stdio.h>
int main(){
int *p; //野指针
printf("\n%d",*p);
return 0;
}
Process returned -1073741819 (0xC0000005) execution time : 1.206 s
Press any key to continue
i.e. you won’t get output, some compilers show error message at output热门推荐
10 新人红包祝福语简短精辟
11 幼师给毕业祝福语简短
12 生日高考祝福语妹妹简短
13 下飞机祝福语简短英文
14 元宵发客户祝福语简短
15 爸妈金婚文案祝福语简短
16 新郎朋友红包祝福语简短
17 虎年五一祝福语大全简短
18 出阁宴祝福语姐姐简短