C语言:如何将字符串数组赋值给一个字符串指针或数组?

Python013

C语言:如何将字符串数组赋值给一个字符串指针或数组?,第1张

直接在一个字符串里面按位赋值就可以了。像二楼说的一样。

因为你原字符串肯定是大于等于新字符串的,所以定一个变量检查原字符串的位置,定另一个变量检查新字符串的位置。那么第一个变量肯定是大于等于第二个变量的。这样可以把值从第一个变量的地方赋值到第二个变量的位置即可。

字符串数组定义赋值:

char c[6]={'c', ' h ', 'i', 'n', 'a' , '\0' }

整数数组定义赋值:

int a[5]={1,2,3,4,5}

int a[5]

    for(int i=0i<5i++)

     a[i]=i

定义float数组并赋值:

float b[10]={1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,0.0}

扩展资料:

数组:是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。

用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。  这些无序排列的同类数据元素的集合称为数组。

声明固定大小的数组:

有三种方法声明固定大小的数组,用哪一种方法取决于数组应有的有效范围:

1,建立公用数组,在模块的声明段用 Public语句声明数组。

2,建立模块级数组,在模块的声明段用 Private语句声明数组。

3,建立局部数组,在过程中用 Private语句声明数组。

参考资料来源:百度百科-数组

从语法上来讲,这个赋值是不行的,可以写成char s[10]="abcde";

我们来深入研究下这种赋值为什么不行;假设上面的语句都合法,那么char s[10],将会分配内存,大小为10字节,假设分配的内存地址为a1,此时s就代表数组的首地址,所以s=a1;现在看第二个语句s="abcde","abcde"也会在内存中分配空间,假设地址为a2,那么执行s="abcde"后就变成了s=a2,那岂不是和之前s=a1冲突?所以C语言是不允许这样的赋值的。