linux定义字符串变量量的定义简介

字符变量_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来吧!
字符变量是存放的变量,其取值是字符常量,即单个字符。变量的类型说明符是char。
字符变量定义形式
: char 1,标识符2,… ,标识符n
例如: char c1, c2, c3,
c1=‘a’ ; c2=‘b’ ; c3=‘c’ ; ch=‘ d’ ;
字符变量说明
1.字符变量在内存中占一个字节。
2.在内存中,是把字符对应的ASCII码值放到存储单元中.
3.与之间可以通用.
每个字符变量被分配一个字节的的内存空间,因此只能存放一个字符。字符值是以码的形式存放在变量的内存单元之中的。如x的十进制ASCⅡ是120,y的十进制ASCⅡ是121。对字符变量a,b赋予'x'和'y'值:a='x';b='y';实际上是在a,b两个单元内存放120和121的:
所以也可以把它们看成是整形变量。C语言允许对整形变量赋予字符值,也允许对字符变量赋整形值。在输出时,允许把字符变量按整形量输出,也允许把整形量按字符量输出。整形量为二字节量,字符量为单字节量,当整形量按字符量处理时,只有低参与处理。
清除历史记录关闭定义字符串变量结尾的\0是什么时候添加上去的
[问题点数:20分,结帖人once_athief]
本版专家分:0
结帖率 100%
CSDN今日推荐
本版专家分:68350
2008年10月 C/C++大版内专家分月排行榜第一2008年6月 C/C++大版内专家分月排行榜第一2008年5月 C/C++大版内专家分月排行榜第一2008年4月 C/C++大版内专家分月排行榜第一
2009年8月 C/C++大版内专家分月排行榜第三2009年7月 C/C++大版内专家分月排行榜第三2009年2月 C/C++大版内专家分月排行榜第三
本版专家分:11040
本版专家分:7883
2009年12月 C/C++大版内专家分月排行榜第三
本版专家分:1065
本版专家分:15149
2009年1月 Linux/Unix社区大版内专家分月排行榜第一
2008年12月 Linux/Unix社区大版内专家分月排行榜第二
2009年3月 Linux/Unix社区大版内专家分月排行榜第三
本版专家分:68350
2008年10月 C/C++大版内专家分月排行榜第一2008年6月 C/C++大版内专家分月排行榜第一2008年5月 C/C++大版内专家分月排行榜第一2008年4月 C/C++大版内专家分月排行榜第一
2009年8月 C/C++大版内专家分月排行榜第三2009年7月 C/C++大版内专家分月排行榜第三2009年2月 C/C++大版内专家分月排行榜第三
本版专家分:26527
本版专家分:1999
本版专家分:304
本版专家分:154
本版专家分:0
本版专家分:6192
2010年10月 C/C++大版内专家分月排行榜第一
本版专家分:42355
2008年11月 C/C++大版内专家分月排行榜第二
本版专家分:855
本版专家分:42355
2008年11月 C/C++大版内专家分月排行榜第二
本版专家分:2117
本版专家分:0
本版专家分:304
本版专家分:58429
2003年6月 C/C++大版内专家分月排行榜第一2002年5月 C/C++大版内专家分月排行榜第一
2003年9月 C/C++大版内专家分月排行榜第二2002年6月 C/C++大版内专家分月排行榜第二2002年4月 C/C++大版内专家分月排行榜第二
2007年3月 C/C++大版内专家分月排行榜第三2007年2月 C/C++大版内专家分月排行榜第三2007年1月 C/C++大版内专家分月排行榜第三2003年7月 C/C++大版内专家分月排行榜第三
本版专家分:195
本版专家分:0
本版专家分:0
匿名用户不能发表回复!|
其他相关推荐一个有关定义字符串型变量的问题
20dreams_1989]
编辑:www.fx114.net
本篇文章主要介绍了"一个有关定义字符串型变量的问题
20dreams_1989]",主要涉及到一个有关定义字符串型变量的问题
20dreams_1989]方面的内容,对于一个有关定义字符串型变量的问题
20dreams_1989]感兴趣的同学可以参考一下。
在使用字符串及其个函数时要用到#include&string&类,这点我做到了,但是在定义一个字符串数组和字符串变量时却无法调试过去,显示为出现“错误指针”!!!到底怎么回事啊?
string&name[N],k;
k &错误的指针& std::basic_string&char,std::char_traits&char&,std::allocator&char&&&
name &错误的指针& std::basic_string&char,std::char_traits&char&,std::allocator&char&&&&[30]
最好再给我说说字符串用法的注意事项啊!谢谢啦!using&namespace&了么?
VC6吧用vc6?这样写没有问题。
#include&&iostream&
#include&&string&
using&namespace&
void&main()
string&name[10],k;
for&(&int&i&=&0;&i&&&10;&i++&)
cin&&&&name[i];&
for&(&int&i&=&0;&i&&&10;&i++&)
cout&&&&name[i]&&&&&
}我的vc6.0根本就不识别string这种类型,以前也没有用过这个类型,都是直接用char定义。我复制了你的内容,结果报告i重复定义,其他完全正确,提前定义i的话,就没有错误了。长见识编译器的问题。在不同的编译器里,判定不一样。比如上面的i在VS2005里就不会报重复定义的错误using&namespace&
string在std内引用&4&楼&paul6&的回复:我复制了你的内容,结果报告i重复定义,其他完全正确,提前定义i的话,就没有错误了。长见识
#include&&iostream&
#include&&string&
using&namespace&
void&main()
&&&&string&name[10],k;
&&&&for&(&int&i&=&0;&i&&&10;&i++&)
&&&&&&&&cin&&&&name[i];&
&&&&for&(&i&=&0;&i&&&10;&i++&)
&&&&&&&&cout&&&&name[i]&&&&&
}那变量K根本是多余的变量,下面的程序根本都没用到变量K啊?using&namespace&我用了,我的编译器是vs2008.我写的是一个哈希表的程序
#include&iostream&
#include&string&
#include&time.h&
#include&&stdio.h&
#include&stdlib.h&
#include&fstream&
using&namespace&
#define&M&50
#define&N&30&
#define&OK&1
#define&SUCCESS&1
#define&UNSUCCESS&0
#define&OVERFLOW&0
#define&CUPLICATE&-1&
#define&EQ(a,b)&((a)==(b))
struct&HashTable
string&key[M];
int&&&&&&&&&&//当前数据元素个数
void&InitHashTable(HashTable&&H)&&//构造一个空的哈希表
&&&H.count=0;&//当前元素个数是零
&&&for(i=0;i&M;i++)
&&&H.key[i]="NULL_KEY";//未填记录的标志
unsigned&Hash(string&K)&&//一个简单的哈希函数
&&num=toascii(K[0])+toascii(K[3]);
&&return&num%59;
void&collision&(int&&p,int&di)&//伪随机探测再散列
&&&&&p=(p+di)%M;
int&SearchHash(HashTable&H,string&K,int&&p)&//p成功时是待查元素在表中位置,否则为插入位置
p=Hash(K);
srand((unsigned)&time(0));//使每次出现的随机数不同
while(H.key[p]!="NULL_KEY"&&!EQ(K,H.key[p]))//该位置有关键字,并且关键字不相等
&&&&&&&di=rand()%40;
&&&collision(p,di);
if&(EQ(K,H.key[p]))
return&SUCCESS;
&&&&return& UNSUCCESS;
int&InserHash(HashTable&&H,string&e)
//查找不成功时插入数据元素e到开放地址哈希表H中,并返回OK;
if(SearchHash(H,e,p))&//表中已有与e有相同关键字的元素
return&CUPLICATE;
H.key[p]=e;
return&OK;
void&Print(int&p,string&r)
cout&&"address="&&p&&"-"&&r&&
int&Find(HashTable&H,string&K,int&&p)
p=Hash(K);
while(H.key[p]!="NULL_KEY"&&!EQ(K,H.key[p]))
collision(p,c);
return&UNSUCCESS;
if&(EQ(K,H.key[p]))
Print(p,H.key[p]);
cout&&"没找到!"&&
void&main()
{&&&int&i,p,c;
string&name[N],k;
&&&&HashTable&h;
InitHashTable(h);
&&&&ofstream&outfile("name.txt");&&&&
&&&&if&(!outfile)
&&&cerr&&"open&error!"&&
&&&&&&&exit(1);
for(i=0;i&N;i++)
outfile&&name[i];
for(i=0;i&N;i++)
InserHash(h,name[i]);
&&&&cout&&"所建的哈希表如下:"&&
for(i=0;i&M;i++)
if(h.key[i]!="NULL_KEY")
Print(i,h.key[i]);
cout&&"查找请输入1,否则请输入0"&&
&&&&while(c)
{cout&&"请输入待查的关键字"&&
Find(h,k,p);
cout&&"继续查找请输入1,否则请输入0"&&
&&&&cin&&c;
&&&&outfile.close();
调试时就会出现错误指针!怎么办???帮帮我啦!
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:查看: 2092|回复: 3
定义区域时,使用字符串变量如何引用?
阅读权限20
在线时间 小时
dim s as string
s = &A2:N2,A9:N9&&&
'其中S是变化得来的变量
Set rng = Range(&& s & &)
msgbox rng.address
如果区域里是字符串,且由变量 得来,如何引用到range里?
阅读权限70
在线时间 小时
Set Rng = Range(s)
阅读权限20
在线时间 小时
试过 set rng=raange(s), 报错:Method 'Range' of object _Global' failed
应该是不支持字符串直接放在range里的,听说是要用debug或evaluate&&但是不知道怎么用呀。
阅读权限20
在线时间 小时
试过 set rng=raange(s), 报错:Method 'Range' of object _Global' failed
应该是不支持字符串直接放在ra ...
检查你的代码是否存在笔误
按2楼的写法,是OK的
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师

我要回帖

更多关于 c语言定义字符串变量 的文章

 

随机推荐