NULL,空字符串和"\0"
来源:互联网 发布:找不到windows update 编辑:程序博客网 时间:2024/05/16 12:32
初学编程,脑袋闲的抽风突然想到
char* c1 = ""
char* c2 = NULL
char* c3 = " "
char* c4 = "\0"
这四者之间到底有如何不同,就写了一段程序测试一下!
#include <stdio.h>
int main()
{
char* c1 = "";
char* c2 = NULL;
char* c3 = " ";
char* c4 = "\0";
printf("c1 = %s\n", c1);
printf("&c1 = %p\n", c1);
printf("c1 = %d\n",*c1); // 打印*c1 对应的十进制ASCII码
printf("c2 = %s\n", c2);
printf("&c2 = %p\n", c2);
//printf("c2 = %d\n", *c2); // 这里会引发段错误
printf("c3 = %s\n", c3);
printf("&c3 = %p\n", c3);
printf("c3 = %d\n", *c3);
printf("c4 = %s\n", c4);
printf("&c4 = %p\n", c4);
printf("c4 = %d\n", *c4);
return 0;
}
编译执行如下所示:
可见 char* c1 = "" 与 char* c4 = "\0" 效果是相同的,都是在内存中申请了一个字节的内存用来存放一个空字符,
空字符对应的十进制ASCII码是0;
而char* c3 = " " 是在内存中申请了一个字节的内存存放空格字符即sp, 空格字符对应的十进制ASCII码是32;
char* c2 = NULL 没有申请任何内存也没有存放任何内容!
- NULL,空字符串和"\0"
- 空字符串(''),NULL和0的关系
- oracle null和空字符串
- Oracle 空字符串和NULL
- oracle null 和空字符串
- NULL字符串和空字符串的区别
- Javascript 中的false、0、null、undefined和空字符串对象
- Javascript 中的false、0、null、undefined和空字符串对象
- Javascript 中的false、0、null、undefined和空字符串对象
- Javascript 中的false、0、null、undefined和空字符串对象
- Javascript 中的false、0、null、undefined和空字符串对象
- Javascript 中的false、0、null、undefined和空字符串对象
- Javascript 中的false、0、null、undefined和空字符串对象
- Javascript 中的false、0、null、undefined和空字符串对象
- javascritp中false、0、空字符串、null和undefined区别
- Javascript 中的false、0、null、undefined和空字符串对象
- Javascript 中的false、0、null、undefined和空字符串对象
- NULL和空字符串的布尔值
- 简单的mysql存储过程
- ZOJ-1180
- 【Hibernate学习笔记】Session清空缓存与清理缓存
- 编程心得
- 面向对象设计原则
- NULL,空字符串和"\0"
- 数字三角形递归与记忆化
- 简单的无限分类中递归子栏目
- 《算法导论》笔记 第12章 12.1 二叉查找树
- 字符串移动包含
- 苹果官方请求框架
- 数据库学习小记
- 设计模式之责任链
- 黑马程序员_学习笔记第12天——多线程2