当前位置:首页 » 编程语言 » c语言指针为空
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言指针为空

发布时间: 2022-01-17 00:20:10

c语言空指针的表示方法

在C语言空指针用NULL表示,NULL宏是定义在标准库头文件stddef.h中。宏定义如下:

#undefNULL
#ifdefined(__cplusplus)
#defineNULL0
#else
#defineNULL((void*)0)
#endif

可以看出c++中 NULL为(int)0 , C中NULL为(void*)0。看来C和C++中NULL宏的值略有不同。

⑵ 在C语言中,创建一个指针变量,但是不赋值,是否就是空指针

对于未初始化的变量,编译器会给它们一个默认值,这个默认值是未知的(也许是NULL,也许是其他的),任何使用未初始化的变量的行为都是有隐患的。

⑶ C语言空指针是怎么回事

空指针指的就是NULL
也就是0指针
指针的含义 是一个地址。 而0地址是非法地址。对这个地址进行赋值 或者取值 就会出现空指针错误

在实际编程中,经常把指针初始化为空指针, 在访问的时候进行判断, 如果为空,那么就是还没有正确赋值的, 应该避免访问。

⑷ C语言中的空指针是什么意思

空指针是就是一个被赋值为0的指针。

对于空指针值,一般的文档中倾向于用 NULL 表示,而没有直接说成 0。但是我们应该清楚:对于指针类型来说,返回 NULL 和 返回 0 是完全等价的,因为 NULL 和 0 都表示 null pointer(空指针)。


(4)c语言指针为空扩展阅读

如果一个 空指针常量 赋给了一个有类型的指针变量,那么这个指针就叫空指针。它不指向任何的对象或者函数。

例如:如果 p 是一个指针变量。

若进行: p = 0;、p = 0L;、p = '';、p = 3 - 3;、p = 0 * 17; 中的任何一种赋值操作之后(对于 C 来说还可以是 p = (void*)0;)。

p 都成为一个空指针,并且由系统保证空指针不指向任何实际的对象或者函数。 反过来说,任何对象或者函数的地址都不可能是空指针。

指针作为实体,是一个用来保存一个内存地址的计算机语言中的变量。指针一般出现在比较底层的程序设计语言中,如C语言。高层的语言如Java一般避免用指针,而是引用。

指针作为数据类型,可以从一个函数类型、一个对象类型或者一个不完备类型中导出。从中导出的数据类型称之为被引用类型(referenced type)。指针类型描述了一种对象,其值为对被引用类型的实体的引用。

参考资料来源:网络-空指针常量

⑸ 如何判断一个字符串指针是否为空(C语言)

#include<stdio.h>
#include<stdlib.h>
void main()
{
char *str = (char*)malloc(sizeof(char)*10); //分配地址空间
gets(str); //输入
if(str[0]!='') //由于字符串以''结尾,故可以这样来判断
{
printf("非空! ");
}
else
printf("空 ");
}

望采纳...

⑹ C语言 空指针

int *p;p=&a空指针也分配了空间它里面是随机的码,我认为int *p和int*p=null是一样的。p=n就是p和n都指向了一个n内的随机数。

⑺ C语言中指针如何初始化为NULL

ptr=NULL,因为是指针的值是空,而不是指针指向地址存储的值为空。

⑻ C语言 请问怎么判断一个指针是否是空的

不知道变量a是什么作用。我想可以增加可以增加一个变量length,表示当前数组的长度。比如下面这样。length的初值赋值为0。

structstru
{
charn[30];
inta;
};
intlength;

这样你每次插入一个新的元素的时候,就“当前数组的长度加一”。当然默认你的插入元素是从下标'0'开始的,并且是连续的。这样想找到一个空的位置进行插入时,就可以使用

p[length].n=...;
p[length].a=...;
length++;

这只是我个人的想法,希望对你有所帮助。

⑼ 在c语言的指针使用中,NULL的值是

C语言中NULL是个宏,在stddef.h中定义:

#ifndefNULL
#ifdef__cplusplus//如果是C++则为0
#defineNULL0
#else
#defineNULL((void*)0)//C中为((void*)0)
#endif
#endif

无论是哪个语言,从数值角度上来说,NULL就是0。作为指针类型变量,赋值为NULL时,表示该指针是个空指针。NULL常用来判断一个指针变量是否为空指针,从而确定程序下一步的操作。如,程序开始,定义一个指针变量并初始化为空,在程序过程中,有可能使用该变量,也可能未使用该变量,则在程序返回前,可以通过判断其是否为空指针,来进行内存释放(防止内存泄露)。

voidfunc()
{
char*p=NULL;
....
if(p!=NULL)//当p用malloc成功分配过内存时,其值是个非0值。
free(p);
}

⑽ c语言如何给指针参数赋值为null

楼主 其实很简单,例如你定义一个int a;
然后把&a的带入你的函数中,函数的形参为int *p;
在函数中把*p=null,不过最好是用宏定义,把null定位0;
这样a变量的地址所指向的值就变为0了

你要是有什么不懂得可以找我