发布网友 发布时间:2022-04-25 23:07
共5个回答
热心网友 时间:2023-10-17 06:17
不可以的,表示的意义是不同的。具体解释如下:
空字符的定义:char a = "",我们称之为空字符,实际情况是什么样子呢
字符a是分配了内存的,只不过它的值为空而已,所有字符串的方法,a都是可以使用的
下面再看看NULL,如果我们这样写char *a = NULL
那说明我们定义了一个char指针a,并指向了NULL,实际上并没有分配内存
如果你这个时候使用char的方法,将会出现错误
上面的区别也可以简单的总结为声明和定义的区别吧,建议楼主看一下
热心网友 时间:2023-10-17 06:17
你看头文件就知道了
#define NULL 0
#define NULL ((void *)0)
也就是说,NULL表示的就是0,字符串最后就是0,当然你也可以给字符赋值NULL,如:char c = NULL;
不知道你所谓的空字符是怎么,我只听说过空字符串,char str[10] = NULL; 或 char str[10] = "";
热心网友 时间:2023-10-17 06:18
可以 比如 char *a = NULL;
热心网友 时间:2023-10-17 06:18
可以的吧
#define NULL ''
热心网友 时间:2023-10-17 06:19
可以,如果报错请加上头文件stddef.h