微软官方MSDN原版Win10系统下载

现在位置: 首页  > 系统教程  > 系统帮助

如何给数组赋值 c

时间:2024-11-23 11:27:36   

大家好,今天Win10系统之家小编给大家分享「如何给数组赋值 c」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!

爱给网app手机版系列软件最新版本下载

1.C语言 一维数组赋值


  一位数组赋值的几种方式
int
a[10]={1,2,3,4,5,6,7,8,9,10};
.一般初始化,例:
int
a[10]={3,10,5,3,4,5,6,7,8,9};
int
array[5]={2,3,4,5,6};
其结果是给每一个数组元素都指定了初值。
2.部分元素初始化,其余元素均为零。
例:
int
a[10]={7,8,9,67,54};
仅给前5个元素赋初值,后5个元素初值为0。
3.全部元素均初始化为1。
int
a[10]
=
{1,1,1,1,1,1,1,1,1,1};
不允许简写为 int
a[10]={1};或int
b[10]={1*10};
同学们想一想上述定义a和b数组后,初始化结果是什么?
 注意:当程序不给数组指定初始值时,编译器作如下处理:
(1)部分元素初始化,编译器自动为没有初始化的元素初始化为0。
(2)数值数组如果只定义不初始化,编译器不为数组自动指定初始值,即初值为一些随机值(值不确定)。
4.如果全部元素均指定初值,定义中可省略元素的个数。
例:
int
a[5]={9,28,3,4,5};可以写为:
 int
a[
]={9,28,3,4,5};
 数组元素的引用
c语言规定,不能整体引用数值数组,只能逐个引用数组元素;
元素引用方式:数组名[下标表达式]
 例:a[0]
=
a[5]
+
a[7]
-
a[2*3]
“下标表达式”可以是任何非负整型数据。
特别强调:1.一个数组元素,实质上就是一个变量,它具有和相同类型单个变量一样的属性,可以对它进行赋值和参与各种运算。
 2.在c语言中,数组作为一个整体,不能参加数据运算,只能对单个的元素进行处理。

2.C语言中如何一次给一个数组变量赋值


  将数据存入内存变量、数组或数组元素中。 store eexpression to varnamelist | arraynamelist或者 varname | arrayname = eexpression 参数 eexpression 指定一个表达式,该表达式的值将存入内存变量、数组或数组元素中。如果指定内存变量不存在,则创建该内存变量,并且将其初始化为 eexpression。数组必须先用 dimension 命令定义。store 命令用新值替换现有的内存变量、数组或数组元素中的值。 varnamelist 指定内存变量或数组元素的列表,将 eexpression 存入这些内存变量或数组元素中。内存变量名或数组元素之间用逗号分隔。 arraynamelist 指定 eexpression 所要存入的、已存在的数组名,数组名之间用逗号分隔。 如果 set compatible 为 off,那么 store 命令用指定值初始化数组中的每一个元素;如果 set compatible 为 on,store 命令将指定值存入指定名称的内存变量中,并改写任何已存在的同名数组。 备注 等号 (=) 赋值操作符可代替 store 命令。内存变量、数组或数组元素必须位于等号的左边,其值位于等号的右边。 使用花括号可以将日期直接存入内存变量、数组或数组元素: store {^1998-12-25} to gdxmas 帮助中的“系统容量”列出了能够创建的变量或数组的最大数。在 visual foxpro 配置文件中可以增加或减少此限制。有关配置 visual foxpro 的详细内容,请参阅 配置 visual foxpro。 示例 store date() to gddate store 50 to gnnumeric store 'hello' to gccharacter store .t. to gllogical store $19.99 to gycurrency dimension gamyarray(2,2) set compatible off store 2 to gamyarray clear display memory like g*

3.【C语言】如何给一堆 数组 整体赋值 ?


  var
 a:=array[1..5] of integer=(1,2,3,4,5)
只有全局变量才能赋初始值,而且5个值都要赋满<
 楼上回答的什么啊,
真是看不下去,
简单问题复杂了
举个例子:二维数组赋值
Dim i1, i2
Dim a(10, 10)
For i1 = 0 To 10
 For i2 = 0 To 10
 a(i1, i2) = i2
 Next
Next<
 其实你的程序是正确的。只不过,TC有关于float(浮点数)的BUG而已。
scanf:floating point formats not linked 
解决这个问题有一个方法,先#include <math.h>
然后在main的第一句,调用
sqrt(0); //求0的平方根,但舍弃结果
//这句的作用,只是为了让TC打开浮点数支持<
 已经定义的数组不能再用{}来赋值 只能一个一个元素地访问
用{}赋初值只能用在声明这个数组的时候(第三行)
unsigned int tab1[4] = {a, b, c, d};
这样的确更不对,给数组赋初值只能用常量,比如 {1, 2, 3, 4}还可以。这是语法规定。
要达到你的目标的话,还是第一个程序,只是后面tab1[4] = {a,b,c,d}; 这句改成:
tab1[0] = a;
tab1[1] = b;
tab1[2] = c;
tab1[3] = d;
这样就行了。说白了就是赋值语句语法规定的问题。<
 将数据存入内存变量、数组或数组元素中。
STORE eExpression TO VarNameList | ArrayNameList或者
VarName | ArrayName = eExpression
参数
eExpression 
指定一个表达式,该表达式的值将存入内存变量、数组或数组元素中。如果指定内存变量不存在,则创建该内存变量,并且将其初始化为 eExpression。数组必须先用 DIMENSION 命令定义。STORE 命令用新值替换现有的内存变量、数组或数组元素中的值。 
VarNameList 
指定内存变量或数组元素的列表,将 eExpression 存入这些内存变量或数组元素中。内存变量名或数组元素之间用逗号分隔。 
ArrayNameList 
指定 eExpression 所要存入的、已存在的数组名,数组名之间用逗号分隔。 
如果 SET COMPATIBLE 为 OFF,那么 STORE 命令用指定值初始化数组中的每一个元素;如果 SET COMPATIBLE 为 ON,STORE 命令将指定值存入指定名称的内存变量中,并改写任何已存在的同名数组。 
备注
等号 (=) 赋值操作符可代替 STORE 命令。内存变量、数组或数组元素必须位于等号的左边,其值位于等号的右边。
使用花括号可以将日期直接存入内存变量、数组或数组元素:
STORE {^1998-12-25} TO gdXMas
帮助中的“系统容量”列出了能够创建的变量或数组的最大数。在 Visual FoxPro 配置文件中可以增加或减少此限制。有关配置 Visual FoxPro 的详细内容,请参阅 配置 Visual FoxPro。
示例
STORE DATE() TO gdDate
STORE 50 TO gnNumeric
STORE 'Hello' TO gcCharacter
STORE .T. TO glLogical
STORE $19.99 TO gyCurrency
DIMENSION gaMyArray(2,2)
SET COMPATIBLE OFF
STORE 2 TO gaMyArray
CLEAR
DISPLAY MEMORY LIKE g*<
 不需要清空可以直接赋值
如果要清空用 I_a[]="\0"<
 #include "Stdio.h" 
#include "Conio.h" 
void main() 

int a[3][3]={1,2,3,4,5,6,7,8,9}; 
int *pa[3]={a[0],a[1],a[2]}; 
int *p=a[0]; 
int i; 
for(i=0;i<3;i++) 
printf("%d,%d,%d\n",a[i][2-i],*a[i],*(*(a+i)+i)); 
for(i=0;i<3;i++) 
printf("%d,%d,%d\n",*pa[i],p[i],*(p+i)); 
getch()
百度知道机器人 Running

4.C语言,结构体中的数组怎么赋值,?


  (1)用字符常量逐个初始化数组。例如:
  char a[8]={i,l,o,v,e,y,o,u};
  把8个字符依次分别赋给c[0]~c[7]这8个元素。
  如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。如果花括号中提供的初值个数(即字符个数)大于数组长度,则出现语法错误。
  如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即\0)。
  如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度。
  例如:char c[]={‘c’,‘’,‘p’,‘r’,‘o,g,r,a,m};
  这时c数组的长度自动定为9。也可以定义和初始化一个二维字符数组,例如:
  char diamond[5][5]={{,,#},{,#,,#},{#,,,,#},
  {,#,,#},{,,#}};用它代表一个菱形的平面图形。
  (2)字符串常量初始化数组。例如:
  char c[]={‘c’,‘’,‘p’,‘r’,‘o,g,r,a,m};
  可写为:char c[]={"C program"};
  或去掉{}写为:char c[]="C program";
  注意:此时数组c的长度不是9,而是10。因为字符串常量的最后由系统加上一个\0。上面的初始化与下面的初始化等价。
  char c[]={‘c’,‘’,‘p’,‘r’,‘o,g,r,a,m,\0};
  (h2)扩展资料:
  其定义的一般形式是:char数组名[数据长度]
  例如:
  char c[10];
  c[0]=I;c[1]=;c[2]=l;c[3]=o;c[4]=v;c[5]=e;c[6]=;c[7]=y;c[8]=o;c[9]=u;
  以上定义了c为字符数组,包含10个元素。
  由于字符型数据是以整数形式(ASCII代码)存放的,因此也可以用整型数组来存放字符数据,例如:
  int c[10];
  但这时每个数组元素占2个字节的内存单元,浪费存储空间。
  字符数组也可以是二维或多维数组,例如:
  char c[5][10];
  即为二维字符数组。
  初始化
  字符数组的初始化与数值型数组初始化没有本质区别。但它除了可以逐个给数组元素赋予字符外,也可以直接用字符串对其初始化。
  输入输出
  字符数组的输入
  (1)用getchar()或scanf()的%c格式符对数组进行字符赋值。例如,对于数组a[10]:用getchar()赋值:
  for(i=0;i&lt;10;i++)
  a&lt;i&gt;=getchar();
  用scanf()赋值:
  for(i=0;i&lt;10;i++)
  scanf("%c",&a&lt;i&gt;);
  (2)用scanf()的%s格式对数组赋值。还是对于数组a[10]:
  scanf("%s",a);
  或
  scanf("%s“,&a[0]);
  输入”C program“并回车时,a数组会自动包含一个以”\0“结尾的字符串”C program“。
  字符数组的输出
  (1)用putchar()或printf()的‘%c’格式符对数组进行字符赋值。例如,对于数组a[10]:用putchar()赋值:
  for(i=0;i&lt;10;i++)
  a&lt;i&gt;=putchar();
  用printf()赋值:
  for(i=0;i&lt;10;i++)
  printf("%c",a&lt;i&gt;);
  输出结果为:
  c program
  (2)用printf()的%s格式对数组赋值。还是对于数组a[10];
  printf("%s",a);
  输出结果为:
  c program
  参考资料:
  


5.c语言中如何给数组定义并赋初值?


  字符串数组定义赋值:
  char c[6]={c,  h , i, n, a , \0 }
  整数数组定义赋值:
  int a[5]={1,2,3,4,5};
  int a[5];
        for(int i=0;i<5;i++)
         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语句声明数组。
  参考资料来源:

以上就是关于「如何给数组赋值 c」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~

『Win10系统之家www.GHost580.net①独♂家使用,转载请注明出处!』

相关文章

  • 如何给数组赋值 c

    如何给数组赋值 c

    1.C语言一维数组赋值一位数组赋值的几种方式inta[10]={1,2,3,4,5,6,7,8,9,10};.一般初始化,例:inta[10]={3,10,5,3,4,5,6,7,8,9};intarray[5]={2,3,4,5,6};其结果是给每一个数组元素都指定了初值。2.部分元素初始化,...
  • 如何给c盘重新分区

    如何给c盘重新分区

    1.怎样把硬盘重新分区呢?FDISK详解在电脑的使用中难免会遇到分区这样的事情,譬如组装新的电脑、购买新的硬盘时,为了能正常使用,分区是必不可少的工作。但用FDISK进行硬盘分区会对硬盘上的数据造成破坏(甚至可以说是不...
  • 如何把数组赋值指针

    如何把数组赋值指针

    1.怎么将一组数组赋值给指针,比如,a[][3]={2,4,5,6,7,8,9,10,11}*p(3)我要直接赋值的指针变量可以指向一维数组中的元素,也可以指向多维数组中的元素。但在概念和使用上,多维数组的指针比一维数组的指针要复杂。1、二维...
  • 如何给寄存器赋值

    如何给寄存器赋值

    1.怎样给专用寄存器(SFR)赋值,单片机1、acc---是累加器,通常用a表示。这是个什么东西,可不能从名字上理解,它是一个寄存器,而不是一个做加法的东西,为什么给它这么一个名字呢?或许是因为在运算器做运算时其中一个数一...