A. c语言如何声明字符串
C语言中没有字符串类型的变量。
他只有字符变量类型char,所以字符串用变通的方式来表示。
第一是字符数组来表示字符串。用下面的语句声明:
char a[10];
C语言中字符数组与字符串的唯一区别是字符串末尾有一个结束符'\0',而字符数组不需要。
如刚才声明的a[10]是一个含有10个元素的字符数组,它也能存放含有9个元素的字符串。
第二种方式是直接用指针。语句是:
char *a;
用指针声明的字符数组,大多数功能与字符数组表示字符串相同。但也有以下两点不同,一是储存位置不同,用字符数组表示时,字符串是存放在储存器的变量区域内;而用指针表示的字符数组是存储在储存器的常量区内;第二个区别是字符数组的字符串可以更改,而指针表示的字符串不能更改。
有关字符串的赋值方法,如何引用,请参考相关书籍。
有什么问题请留言。
B. 在c语言中 字符串如何去定义有几种定义方法
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。
C. C语言怎么定义一个字符串组
如果想完成一组依赖关系的定义,最合适的应该是定义结构体数组,如:
structdata{
intnum;
charstring[100];
}st_data[]={//初始化,完成对应关系建立
{1,"one"},
{2,"two"},
{13,"thirteen"}
};
调用:
inti,n;
n=13;
for(i=0;i<n;i++)
if(st_data[i].num==n)
printf("%d-%s ",n,st_data[i].string);
如果num数据是连续的,则可以字符串数组或指针数组来实现,用下标作为索引值,如:
constchar*p_data[]={//初始化,完成对应关系建立指针数组适合固定值的初始化,一旦建立,不再改变
"","one","two","three","four","five"
};
或:
chara_data[20][10]={//初始化,完成对应关系建立字符串数组,适合动态修改其中的数据,或动态扩充对应关系数据
"","one","two","three","four","five"
};
调用:
inti;
i=1;
printf("%d-%s ",i,a_data[i]);
printf("%d-%s ",i,p_data[i]);
D. 在c语言中怎样定义字符串
c语言中没有专门的字符串变量,c把字符串作为字符数组来处理。
char
c[]={"Hello"};或者char
c[]="Hello";
此时字符串在数组中的存放形式为
前五个分别存'H','e','l','l','o',最后还有一个结束标志'\0'
E. C语言 如何定义字符串数组
方法1,
使用指针数组:
#include
<string.h>
#include
<stdio.h>
#include
<stdlib.h>
int
main()
{
char
*test[]={
"this
is
a
test
",
"test
2
",
"
"};
int
i=0;
while(strcmp(test[i],
"
")
!=
0)
puts(test[i++]);
system(
"PAUSE
");
return
0;
}
这个方法比较简单,
但是问题是这样的话,字符串是常量,无法修改。当然这个问题也可以解决,
比如使用数组赋值,
然后将
char
数组首地址赋值给某一个指针即可。
方法2,使用2维数组:
#include
<string.h>
#include
<stdio.h>
#include
<stdlib.h>
int
main()
{
char
test[][20]={
"this
is
a
test
",
"test
2
",
"
"};
int
i=0;
while(strcmp(test[i],
"
")
!=
0)
puts(test[i++]);
system(
"PAUSE
");
return
0;
}
这样的话,
问题就是
空间的浪费!
F. C语言中如何定义字符串
可以用数组或指针
数组:
char s[80]="abcd";或者char s[80]={"abcd"}; /*说明:自动加字符串结束标志: */
char s[80]={"a","b","c","d","