导航
全部
社区活动
我有疑问
博文收录
Ada助手
问答
架构师李肯带你学C语言
花神庙码农的博客
...
社区活动
我有疑问
博文收录
Ada助手
问答
架构师李肯带你学C语言
花神庙码农的博客
登录/注册
社区
C语言
帖子详情
char a[100]={0};初始化的含义是什么呢?
faintLinkinPark
2006-03-27 09:55:36
rt
,是赋了100个0 么?
还是别的什么
...全文
给本帖投票
5750
20
打赏
收藏
char a[100]={0};初始化的含义是什么呢?
rt ,是赋了100个0 么? 还是别的什么
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
关于IE浏览器的URL!浏览网页时URL保存在哪?如何获得?
>>
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
发表回复
按下Enter换行,Ctrl+Enter发表内容
编辑
预览
轻敲空格完成输入
显示为
卡片
标题
链接
打赏红包
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};
初始化
的
含义
是什么呢?
还是楼上说得比较确切,呵呵。更一般地说,对于: int a[
100
]={1, 2, 3}; 表示除前三个元素分别被
初始化
为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 = "";又是什么意思呢? main.c测试如下:
char
*p = ""; printf("+++++++0x%08x\n", p);
char
a[] = "abc" 与
char
*p = "def"区别浅析
char
a[] = "abc"; 中a是数组名,编译时为其分配4个
char
单元,前3个单元用“abc"中的字符对应
初始化
,最后一个存放'\0'。
char
*p = "def"; 在编译时先生成"def"字符串常量,存放在常量区,并将首地址(c的地址)赋给
char
*型指针变量p。 从以上可知,二者的区别在于:数组名a和指针变量p虽然本质上都是地址,但是数组名a它的地址是不变的,即它是一...
【C语言问题】
char
str[] = {0} 和
char
str[] = ““区别
char
str[] = {0} 和
char
str[] = ""区别
【C++】关于
char
* tempbuffer = new
char
[
100
];
今天做作业写代码写到了以下语句
char
* tempbuffer = new
char
[
100
] 该句代码的意思是定义了一个字符指针,指向一个内存大小为
100
字节的内存空间 我们直接打印该指针变量tempbuffer #include<iostream> using namespace std; int main() {
char
* tempbuffer = new
char
[...
C语言
70,008
社区成员
243,256
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
积分榜
荣誉榜
原力榜
学习榜
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章
手机看
关注公众号
客服
返回
顶部