1楼:匿名用户
c++里面初始化一个字符必须打上单引号 也就是类似于第一个 char a='x';。第2个是不正确的。
c++里char a='0';和char a=0;有什么区别??
2楼:小傻
char a[100] = ;和char a = 区别如下:
第一个是 100个字节 全部初始化为\0 ,这个是先给出大小才初始化第二个是就一个字节 初始化为\0, 这个是赋值初始化 赋的值决定了大小
分配的内存地址空间也不一样,如下:
3楼:匿名用户
第一个是指字符a赋值字符型‘0’,第二个指字符a赋值ascii值为0的字符也就是空字符(空格)。
4楼:百度用户
c++里面初始化一个字符必须打上单引号 也就是类似于第一个 char a='x';。第2个是不正确的。
char *a和char* a有什么区别?
5楼:匿名用户
没有什么不同,都是定义一个指向char型的指针但是要注意的是如果你想在一句话里面2个指针,那么正确的做法应该是char *a,*b;而不是char* a,b;
后面那个b只是一个char型变量
所以一般提倡使用第一种,避免糊涂搞错,当然如果你仅仅在一句话里面定义一个变量或者是在定义形参的话,那么第二种看上去更直接一点
希望对你有帮助
c++ 语言中char a="a"; 和char a='a' 有什么区别
6楼:匿名用户
char a='a' 是合法的
char a="a' 是不合法的
char型不能为字符串,只能为字符
7楼:匿名用户
“a”表示字符串,字符串长度等于内容加‘\0’的长度,所以是占用两个字节内存。‘a’表示字符,占用一个字节内存。而一个字符变量长度永远为1字节,所以前者写法错误,应该写成 char *a = "a"。
8楼:匿名用户
前面是错的。“a”为const char *, “a”= ‘a'+ '\0'。
char **str和char *str[]有什么区别?
9楼:匿名用户
**str右边的*表示
来指向每一个字符串第一自个字符的bai地址,du左边的*表示指向第一个字符串的zhi地址。
const char **str 或 char const **str可以定义dao,const不区分前后顺序,意义都是表示str是常量(不能赋值)。
只能定义char *str[5]而不能定义char *str,因为编译时程序不能确定str数组有几维。
char *str[5]表示字符串数组,数组数量是5,既是5个string又是一个string array,每个string不限字符个数。
10楼:千锋教育
两者都代复表一个字符数组存储制
空间的首地址,bai区别在于du
char *str;
这个变量可以进zhi行指针运算,比如:daostr++;
str--;
但如果定义成:
char str;
则str++这样的语句是错误的,这个首地址不得进行赋值计算。
在不改变str指针指向地址的情况下,下面的语句是一样的结果。
printf("%s",str+2);
c++中 char *a=0 这样的表达,对吗?
11楼:匿名用户
char *a=0; 可以
如果赋予 非 0 值
则要:int *p= (int *)10;
加上强制转换,将10当成地址, 不然编译器会报错!
12楼:xz宏定义
没错先看下这个
char a=0。也就是说a等于0这个字符(‘0’)。而零的ascii码值为48。那么当把a当成整型运算的时候,a取值48
然后 char *a=0,只是让指针指向一块字符型数据的区域,而这个区域存的值是0
13楼:轩烨
对,这相当于指针指向一片不可访问的内存,与char*p=null意思相同
14楼:匿名用户
对和char *a=null是一样的
char a[100] = {'\0'};和char a[] = {'\0'};有什么区别 5
15楼:小傻
char a[100] = ;和char a = 区别如下:
第一个是 100个字节 全部初始化为\0 ,这个是先给出大小才初始化第二个是就一个字节 初始化为\0, 这个是赋值初始化 赋的值决定了大小
分配的内存地址空间也不一样,如下:
16楼:沧海雄风
第一个是 100个字节 全部初始化为\0 这个是先给出大小才初始化
第二个是就一个字节 初始化为\0 这个是赋值初始化 赋的值决定了大小
17楼:匿名用户
char a[100] = ;a分配了100个字节的空间,但只有一个\0
和char a = ;a分配了1个字节内存空间,装着\0
c++ char * p = '\0' 和 char * p = "" 和 a[1]=""的区别?
18楼:
char * p = '\0'和char *p=null等价,是指针的一种安全状态;这时p值虽然是0,但进行写和读操作都是非法的,系统不会认可,从而保证了安全。
char * p = "",由编译器创建一个空字符串常量并存放在某个地方,并把这个地方的地址赋给p。实际上这时给p的指向目标分配了1个字节,存入了一个'\0'。这种声明毫无意义,因为""是常量,只能读取不能写入,白白地浪费了一个字节。
a[1]="",编译器械创建一个空字符串,用它来初始化数组a。中的值可以是任意合法数字,所以a的大小是由中的数值决定的;a被分配了地址,给所有单元都存入了'\0'。
19楼:匿名用户
char *p = 0; <=> char *p = 0; <=> char *p = null; <=> char *p = nullptr;
意思是使p指向空地址
char *p = "";
意思是使p指向字
符串""的首地址
第三个应该是char *p[n]; p[1] = ""; 字符串字面值的“值”就是地址。
定义一个char类型的初值需要加单引号吗,char a = '0' ;和char a = 0;都是正确的吗
20楼:水上漂汤
两种都可以
char a = '0'; //将字符常量'0'赋值给char型变量a
char a = 0; //将整型常量0赋值给char型变量,这里0作为ascii码转化为对应的字符再赋值给a(我不知道0对应哪个字符,但是肯定不是'0')
21楼:匿名用户
从语法上说都正确
char a='0';赋值给变量a的是数字0的ascii码48
而char a=0;和char a='\0';是一样的,都是将0赋值给变量a
22楼:匿名用户
给char类型赋初值需要加入单引号
0X0和0X00的区别是什么,0x00和\0有什么区别
1楼 匿名用户 0x0 和0x00也啥太大的不同 都是报错信息的一部分 并不完整 所差的也就位数而已 没多少实际意义的 如果你想更进一步了解 请提供完整的报错信息 2楼 魔神哥 0x0和0x00的区别在于在存储空间上0x0占的只是4位而0x00占的是8位,如果你做的是底层驱动led灯阵开发的话,会发...
0x00和0有什么区别,0X0 和0X00的区别是什么
1楼 匿名用户 表示一个意思 字符 0 也可以直接用asc码0表示 0不管是几进制,都是0 2楼 百度用户 0 比如,下面这个例子 char a1 1 char a2 1 前者a1 0 a 能编译通过 后者编译通不过,因为a2是一个元素的数组,而 a 有两个元素,分别是 a 和 0 补充 aa 这是...
在C++中a!0是什么意思啊,namber!0有是什么意思
1楼 匿名用户 条件判断, 不等于 的意思 2楼 匿名用户 number 0 就是变量number不为0的意思,一般用在if ,或者while for语句中,作为条件判断用哦 3楼 匿名用户 这个是逻辑判断, 是不等于 4楼 ! 是不等于,a! 0就是变量a! 0,可以用作判断 namber也是变量...