社区
C语言
帖子详情
char a[100]={0};初始化的含义是什么呢?
faintLinkinPark
2006-03-27 09:55:36
rt
,是赋了100个0 么?
还是别的什么
...全文
6071
20
打赏
收藏
char a[100]={0};初始化的含义是什么呢?
rt ,是赋了100个0 么? 还是别的什么
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
firetoucher
2006-03-28
打赏
举报
回复
回复人:faintLinkinPark() ( 一级(初级)) 信誉:100 2006-3-27 13:08:15 得分:0
?
后来我又做了一个试验
char a[10];
char b[10]={0};
printf("%s,%s\n",a,b);
结果a和b,打印出来的值是一样的
后来我又把b改为 char [b]={1};
此时打印出来的与前面的就不太一样了
----------------------------------
我想知道,你真的char [b]={1};这样写了?
FT
--
Anything one man can imagine, other men can make real.
hua2325
2006-03-28
打赏
举报
回复
ben ~~~~~~~~~~~~~~~~~~~
fallenbluefire
2006-03-28
打赏
举报
回复
1
char a[100]={0};
好像不是赋了100个0的样子,而是只赋了1个0,ascii里面“0“对应着NULL
应该给了第0号元素1个NULL值
char aa[100] ={65};
cout<<aa<<endl;
只会输出一个"A",而不是100个"A",因为只有第0号元素被设置成了A(ascii码为65)
Kache
2006-03-28
打赏
举报
回复
不知道有没有人试过 int array[1000000] = { 0 }编译之后的结果呢,虽然看起来效果和手工置零的差不多,但是实现上还是有很大差别的,建议还是先memset(),然后再做部分赋值好了。
besthyq
2006-03-27
打赏
举报
回复
0000000000000000000000000000000000000000000000......00000.....
faintLinkinPark
2006-03-27
打赏
举报
回复
了解,小弟真是才疏学浅,以后还指望各位大侠指点迷津呀~~~~~~~
自己寒一个~~~~~
iamthebest1983923
2006-03-27
打赏
举报
回复
0在赋值给char时代表空格
只有数组赋值个数小于数组数量时,用最后一个值给剩下的进行赋值
wqtl_357
2006-03-27
打赏
举报
回复
第一个元素被你附值为0外,其他99个元素都默认为0.
这是一种省略写法,等同于
for(int i=0; i<100; i++)
{
a[i] = 0;
}
也可以把a的内容打印出来
#include <stdio.h>
int main()
{
int i;
char a[100] = {0};
for(i=0; i<100; i++)
printf("%d",a[i]);
return 0;
}
snowwolf_2006
2006-03-27
打赏
举报
回复
呵呵,C里面的字符和整数用的时候是一回事!所以赋了 100个0.
晨星
2006-03-27
打赏
举报
回复
本来就是为了举个更一般点的例子,好让你不要误以为只有char如此。
晨星
2006-03-27
打赏
举报
回复
//我定义的数组类型好像是char 。。。。。
——郁闷,你就不能举一反三嘛。-_-
char a[100]={'A', 'B', 'C'};
表示除前三个分别被初始化为'A', 'B'和'C',其余97个都是0,即'\0'。
zez
2006-03-27
打赏
举报
回复
就是赋了 100个0
duduhaha
2006-03-27
打赏
举报
回复
我定义的数组类型好像是char 。。。。。
char也如前面众人所说的一样。
faintLinkinPark
2006-03-27
打赏
举报
回复
我定义的数组类型好像是char 。。。。。
晨星
2006-03-27
打赏
举报
回复
还是楼上说得比较确切,呵呵。更一般地说,对于:
int a[100]={1, 2, 3};
表示除前三个元素分别被初始化为1,2和3之外,后面97个全都默认为0。
shenmea00000
2006-03-27
打赏
举报
回复
char a[100]={0};初始化的含义是什么呢?
==============================
除了第一个元素被你附值为0外,其他99个元素都默认为0,所以100个元素都为0
-------------------------------------------------------------------
expert2000
2006-03-27
打赏
举报
回复
相当于memset(&a[0],0x00,100);输出每个数组元素都是(null)
晨星
2006-03-27
打赏
举报
回复
100个全是0,这是C语言标准规定的,大胆使用就行了。
ox_thedarkness
2006-03-27
打赏
举报
回复
char a[10]; // 未初始化,内容要么是随机的,要么是编译器debug 模式加上的特殊内容
- - 你用的什么编译器,不会是TC2 把? 随便换个编译器都会打出乱码。
faintLinkinPark
2006-03-27
打赏
举报
回复
后来我又做了一个试验
char a[10];
char b[10]={0};
printf("%s,%s\n",a,b);
结果a和b,打印出来的值是一样的
后来我又把b改为 char [b]={1};
此时打印出来的与前面的就不太一样了
char
a[
100
]={0};
初始化
的
含义
是什么呢?
表示除前三个元素分别被
初始化
为1,2和3之外,后面97个全都默认为0。 //我定义的数组类型好像是
char
。。。。。 ——郁闷,你就不能举一反三嘛。-_-
char
a[
100
]={ 'A ', 'B ', 'C '}; 表示除前三个分别...
关于
char
*p = "";的思考
偶然记起在浏览别人的代码的时候发现有一处指针的
初始化
时这样写的:
char
*p = ""; 首先我们知道
char
*p = NULL;的意思是将p
初始化
为NULL(和'\0', 0)的意思一样,防止使用野指针p。不过
char
*p = "";又是什么意思...
char
a[] = "abc" 与
char
*p = "def"区别浅析
中的字符对应
初始化
,最后一个存放'\0'。
char
*p = "def"; 在编译时先生成"def"字符串常量,存放在常量区,并将首地址(c的地址)赋给
char
*型指针变量p。 从以上可知,二者的区别在于:数组...
c语言
char
*str = ““ 和
char
*str = NULL 以及
char
str[] = {} 区别
前言
char
*str = "" 和
char
*str = NULL 区别
char
*str = NULL 和
char
str[] = {} 区别
char
*str = "" 和
char
str[] = {} 区别
char
*str = "" 和 const
char
*str = "" 区别
C语言之数组
初始化
对
char
来说,0就对应了ASCII空字符(NULL),其实就是’\0’,判断一个字符串是否结束就是看是否遇到’\0’。——如果
初始化
表达式的个数比数组元素...为什么这个操作会
初始化
char
数组?它是指把
100
个元素全部置为0吗?
C语言
70,027
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章