一、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给目标数组。
- 相关评论
- 我要评论
-