wxsh.net
当前位置:首页>>关于char s[4]={"abc"}和char s[4]="abc"有什么区别的资料>>

char s[4]={"abc"}和char s[4]="abc"有什么区别

这样说清楚点!假如有char *s[4]={"ABCD","EF"};,那么s[1]是指向字符E的指针,当然*s[1]就是字符E了!原来的题目初始化项只有一个字符串,不便于说明白。顺便一说,s[0]是指向A的指针……

通常写作: char s[]={"abc"}; 声明一个字符数组s[],并初始化,在其中存入字符串"abc" 而char *s={"abc"}; 则是理解为: 声明一个字符指针s, 让它指向一个字符串"abc", 这个字符串在源程序所在的内存里

char *s="abc"; 意思是:定义一个字符指针变量s,并且将字符串常量的起始地址初始化给指针变量s。 也就是说,存放在变量s里面的是一个地址,是字符串“abc”的首地址,即是字符'a'的地址。 "abc"是一个字符串常量,是连续存放的,由编译系统来管理...

char a[]={'a','b','c'} 这是一个字符数组,占3个字节。 char a[]="abc" 则不同,它是一个字符串,最后还有一个'\0'结束符,占4个字节

是对的。。。。。。

1. 问题介绍 问题引入: 在实习过程中发现了一个以前一直默认的错误,同样char *c = "abc"和char c[]="abc",前者改变其内 容程序是会崩溃的,而后者完全正确。 程序演示: 测试环境Devc++ 代码 #include using namespace std; main() { char *c1...

可以狭义的理解将字符串截断, 比如,char s[]="abcdef";就用printf("%s",s);输出是abcdef, 而当s[3]='\0',输出就是abc,printf %s就是以‘\0’来区分结束位的

char*转换 Qt下面,字符串都用QString,确实给开发者提供了方便,想想VC里面定义的各种变量类型,而且函数参数类型五花八门,经常需要今年新那个类型转换 Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类...

这两者没有区别,只是表现形式不同,其本质,形参都是指针类型!

char s[] = "abc",这是定义时即为"abc\0"四个字符。 而char s1[3] ="abc",其中"abc"也实际上是"abc\0",但是s1[3] 只有三个,所以最后的'\0'被舍去了 比方说 char s[] = "abcdef"; sizeof(s) :7 char s1[3] ="abcdef"; sizeof(s1):3

网站首页 | 网站地图
All rights reserved Powered by www.wxsh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com