
正文
c语言如何对空指针赋值,c语言中指针指向空值
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
能给空指针赋值吗?C/C++
1、这样写编译能过,但绝大多数情况下,运行时会挂掉。
2、给空指针指向的地址赋值是错的,程序会崩溃。如int *q=NULL; *q=*(p+5)会死机。
3、是编译器报的空指针赋值吧?主要原因:作者没有搞清楚C中的全局变量和局部变量的问题。1。
相关问答
Q1: 请问C语言指针赋值问题
要是都在一个函数内是不会有问题的。 你的问题应该不在上面所述的部分。
p为指针,地址是未知的,如果直接赋值 p=a;这样编译可以通过,但是会产生警告,p的地址是随机分配的,这样对未知的地址赋值很危险,可能会覆盖掉某些重要数据,所以避免这种危险,在定义指针时注意初始化,也就是赋值。
请分清“指针本身的值”和“指针指向的地址中的值”这两者的区别。指针本身的值就是地址。
因此这种方法是十分危险的。给指针赋值一般有两种方法,一种是将已经存在的变量的地址传递给指针,格式为:p=另一种是首先为指针申请指向的合法内存,C语言中用函数malloc(),然后给已申请的地址赋值,如*p=6。
Q2: c语言指针赋值问题
1、选项A,指针变量需要赋值一个变量的地址,A选项中将x变量的地址赋值给指针变量pb,B选项不能将一个变量直接赋值给指针变量。选项C,C选项中的赋值语法是错误的,正确的赋值语法应该是和A选项相同。
2、请分清“指针本身的值”和“指针指向的地址中的值”这两者的区别。指针本身的值就是地址。
3、要是都在一个函数内是不会有问题的。 你的问题应该不在上面所述的部分。
Q3: C语言指针的赋值问题
1、p为指针,地址是未知的,如果直接赋值 p=a;这样编译可以通过,但是会产生警告,p的地址是随机分配的,这样对未知的地址赋值很危险,可能会覆盖掉某些重要数据,所以避免这种危险,在定义指针时注意初始化,也就是赋值。
2、请分清“指针本身的值”和“指针指向的地址中的值”这两者的区别。指针本身的值就是地址。
3、要是都在一个函数内是不会有问题的。 你的问题应该不在上面所述的部分。
4、n 是整型变量,p是指向整型变量的指针,q是指向指针的指针。也就是 n中存放整型数,p中存放整形数的地址,q中存放指针的地址。 * 在运算中的作用是代表取指针所指向的变量。
关于c语言如何对空指针赋值和c语言中指针指向空值的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








