C语言字符串数组如何赋值?

54 2024-09-04 20:44

一、C语言字符串数组如何赋值?

1、单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值。

例子:

char a[10];

char ch='a';

for( i=0;i<10;i++ )

a[i]=ch+i ; //可通过数组下标引用数组元素,完成赋值

char *p;

for( p=a; p<a+10; p++ )

*p=ch++; //通过指针对数组相应元素赋

2、字符串赋值,可使用string.h头文件中的字符串操作函数进行赋值。

例子:

char a[10];

strcpy( a, "abcdefgh");

sprintf(a, "%s", "abcdefgh");

二、c语言数组怎样自动赋值?

给数组赋值的方法除了用赋值语句对数组元素逐个赋值外, 还可采用初始化赋值和动态赋值的方法。 C语言对数组的初始化赋值还有以下几点规定: 1) 可以只给部分元素赋初值。 当{ }中值的个数少于元素个数时,只 给前面部分元素赋值。 例如: int a[10]={0,1,2,3,4}; 表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。 2) 只能给元素逐个赋值,不能给数组整体赋值。 例如给十个元素全部赋1值,只能写为: int a[10]={1,1,1,1,1,1,1,1,1,1}; 而不能写为: int a[10]=1; 多维数组也是一样 给数组赋值的方法除了用初始化赋值外,用赋值语句对数组元素只能逐个赋值

三、c语言数组定义和赋值?

二维数组定义的一般形式是:dataType arrayName[length1][length2];其中,dataType 为数据类型,arrayName 为数组名,length1 为第一维下标的长度,length2 为第二维下标的长度。

我们可以将二维数组看做一个 Excel 表格,有行有列,length1 表示行数,length2 表示列数,要在二维数组中定位某个元素,必须同时指明行和列。例如:int a[3][4];定义了一个 3 行 4 列的二维数组,共有 3×4=12 个元素,数组名为 a,即:a[0][0], a[0][1], a[0][2], a[0][3]

a[1][0], a[1][1], a[1][2], a[1][3]

a[2][0], a[2][1], a[2][2], a[2][3]

如果想表示第 2 行第 1 列的元素,应该写作 a[2][1]。

也可以将二维数组看成一个坐标系,有 x 轴和 y 轴,要想在一个平面中确定一个点,必须同时知道 x 轴和 y 轴。

四、C语言字符串赋值操作?

字符串赋值的方法:

1、定义的时候直接用字符串赋值

如:char a[10]="hello";

注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的。

例如:

main()

{ char s[100];

strcpy(s, "The writer would like to thank you for"

"your interest in his book. He hopes you"

"can get some helps from the book."); }

2、对数组中字符逐个赋值

字符串可以赋值给字符指针变量,或者将字符串用字符数组保存。

如:char a[10]={'h','e','l','l','o'};

3、利用strcpy

strcpy是一种C语言的标准库函数,strcpy把含有'\0'结束符的字符串复制到另一个地址空间,返回值的类型为char*。

如:char a[10];

strcpy(a, "hello");

扩展资料

字符串赋值的注意事项:

1、在使用指针的时候,指针可以自增,而数组名不能自增编译器给数组分配了空间。

2、在指针自增的时候,编译器会自动识别类型,比如指针是指向int型的,想获取下一个的地址时,指针直接p++就行了,不要多此一举的p+4了。

3、在void指针使用的时候,不能使用指针运算,因为void型编译器不能识别类型的长度(即指针所指对象的体积),p++这样就是不合法的,即不能进行数学运算,也不能使用*取值操作,想使用必须转换为其它的类型。

五、c语言怎么给数组赋值汉字?

可以这样做:1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

2、在test.cpp文件中,输入C语言代码:char a[20] = "我你";puts(a);。

3、编译器运行test.cpp文件,此时成功定义一个两个汉字的数组并打印了出来。

如果用数组来定义,输出结果会很有意思的哦。

六、C语言数组学习问题,循环方式给数组赋值?

双重循环的话,内层循环先做,外层后做,一般来说双重循环是为了给一个二维数组赋值。例如接下来的代码。

这是一个给二维数组赋值的代码,执行顺序是先做内层的j循环,将二维数组第i行每一列都进行赋值,之后内层循环结束,外层循环中的i增1,可以理解为进行到了下一行。之后对第i+1行的每一列执行循环赋值,直到外层i循环结束。这个循环一共要进行i*j次。

七、c语言中字符串怎么赋值?

C语言中,字符串的赋值主要有两种方法,第一种是通过指针的方式直接赋值,第二种是通过数组直接赋值。

1、指针式赋值。

通过程序的运行情况,可以知道:char *p = "hello";这种字符串的赋值方式是完全没有问题的。要理解这种赋值方式,首先得理解双引号(特别注意:这个是双引号,不要赋值的时候给弄了个单引号)在这个语句中做了什么工作。双引号主要做了3个工作,分别是:

(1)申请了空间(在常量区),存放了字符串。

(2)在字符串尾加上了“\0”。

(3)返回地址。

这里所返回的地址就赋值给了char *类型的指针变量p。

2、通过字符数组直接把字符串赋值。

八、C语言中怎么字符串赋值?

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

2、在test.cpp文件中,输入C语言代码:char a[20];strcpy(a, "hello");printf("%s", a);。

3、编译器运行test.cpp文件,此时成功将字符串赋值给了字符串a并打印。

九、c语言数组给指针赋值的例子?

例子:我们现在知道存储单元中有一个变量 a,知道他的值,但假如我们不知道他在存储单元里的位置,那我们将无法改变这个变量的值。

但是,我们现在申请了一个特殊的变量,他可以储存 a 的地址,获取到 a 的地址之后,我们就可以找到它在内存中的位置,就可以更改内存变量的值了。当然,这只是个例子,只是为了方便大家理解指针的含义而已,在C语言中,变量会在它的作用域中保留它的地址,直接用个取址符&就可获取其地址。

十、单片机C语言数组赋值求助?

数组只能在定义的时候整体赋值,不能在之后这样用。

所以你只能写成

uchar frist[5]={a,b,c,d,e,f};

而不能写成

uchar frist[5];

frist[5]={a,b,c,d,e,f};

如果你真的要在之后赋值,特别是每个成员不一样,你只能用循环或者手动一个一个赋值。

或者先把所有值放在另外一个数值然后memcpy给目标数组。

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片