99问答网
所有问题
当前搜索:
不确定长度的char数组的定义
char
*和char*有什么区别?
答:
内存分配方式:
char数组
在
定义
时需要指定其
长度
,并且会在栈上分配一块连续的内存空间来存储数据;而char *是一个指针,它通常是通过动态内存分配函数(如malloc)来分配一块内存空间,这个空间可能不是连续的。可变性:char数组在定义时长度是固定的,无法在运行时更改其
大小
。而char *指针可以用realloc等...
C语言中,关于字符串长度与字符
数组长度的
问题。
答:
1楼正解,你在初始化时给数组a赋了3个值,所以其实a的类型应该是
char
a[3],
数组长度
为3,。而字符串就不一样了,他必须以‘\0’结尾,你的 ‘a’ ‘b’ ‘c’存储在一个连续的地址上,字符串的长度是从‘a’的地址开始一直计数,当读到‘\0’时结束,虽然你没有用到‘c’后面的...
C语言
定义
了二维字符组
char
a[M][N]. 要在运行窗口用户自己输入二维数 ...
答:
如果行数
确定
了,那么可以
定义
一维指针数组,然后再通过malloc或者calloc函数动态分配多个数组。在读取用户输入的时候,如果发现
数组长度
不够,还可以用calloc重新分配更
长的
空间
C语言中用动态
数组
储存一个
长度
未知的字符串,应该
怎么
使用malloc和rea...
答:
char
* buffer;buffer = (char *)malloc(initialize size);buffer = (char *)realloc(buffer, initialize size+add size);一般做法是设定一个初始值,再设定一个追加值。比如:*p初始分配10个字符空间。当空间不够用的时候,每次增加20个字符空间。这样会增加效率。象你这样:初始p = (char *)malloc...
字符
数组
只能存放字符串吗
答:
到“9”的字符元素。因此,C语言中字符数组不单单只能保存字符串。字符数组是指用来存放字符数据的数组。其
定义
的一般形式为:
char 数组
名[数据
长度
] 。字符数组用于存放字符或字符串,字符数组中的一个元素存放一个字符,它在内存中占用一个字节。C语言中没有字符串类型,字符串是存放在字符型数组中...
C语言
char
a[10]中[10]是什么意思
答:
[10]表示字符
数组
a的维度
大小
。表示a数组在内存中占用10个(
char
)大小空间。另外作为字符数组,
定义
[10],实际只使用9个空间存储字符,最后一个留着存放字符串结束符号‘\0’。
关于c字符
数组的
问题,请为小弟解开心中的疑惑
答:
所以长度是6。而
char
a[10]="12345“则是一开始就设定了
数组长度
为10,再往数组中初始化数据,不会改变数组本身的长度。总之,在声明时指明了
长度的数组
,在sizeof时求得的就是指定的长度。声明时没有指定长度的,根据初始化数据列表的长度为
确定数组
实际长度。
char
[] v; 是不是说
数组
没设定长度。 但是数组是必须有
长度的
,何解
答:
len = 10;
char
[] v;v = new int[len];属于数组的动态分配内存。你不能这样做: int v[len];编译器会报错说len的大小不能
确定
,因为用这种形式声明数组,
数组的大小
需要在编译时确定。
若有以下的
数组定义
:
char
str[]="abcd";char b[]={'a','b','c','d...
答:
用' '括起来的是单个字符,用" "括起来的是字符串,就算中间只有一个字符,编译系统也会把它后面加一个0,C风格的字符就是以0结尾的,0后面再有内容也是多余的。b是字符
数组
,不是字符串,拿它当C风格的字符串会出问题的,因为后面没有0作为字符串结束标记,如果要当成字符串来访问的话会一直...
字符串和字符
数组的
区别
答:
字符数组内任意位置可写任意数据包括0x0,而字符串只有结束的位置有一个0x0,一但有了0x0这个数据,则字符串结束。对电脑而言只有二进制字节数组;对人脑才有字符、字符串、空字符结束符、数组等。1、字符数组是指用来存放字符数据的数组。其
定义
的一般形式为:
char 数组
名[数据
长度
] 。字符数组用于...
<涓婁竴椤
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
sizeof计算数组长度
c++字符串长度