c#中如何给数组赋值?给数组赋值有几种方式啊
本文目录
- c#中如何给数组赋值
- 给数组赋值有几种方式啊
- 怎么给数组中的数据赋值
- JAVA 给数组赋值
- 数组的赋值方法
- c语言数组定义和赋值是什么
- char[]数组该如何赋值
- 如何给一个数组赋初值
- C语言一维数组赋值方法
- 怎样给数组赋值
c#中如何给数组赋值
声明数组的同时进行赋值 string languages = { "C#", "COBOL", "Java","C++", "Visual Basic", "Pascal","Fortran", "Lisp", "J#"};在这个以逗号分隔的列表中,第一项成为数组的第一个元素,第二项成为第二个元素,依此类推。我们使用大括号来定义一个数组字面量。只有在同一个语句中声明并赋值时,代码清单2-30的赋值语法才可用。如果是在声明了之后才进行赋值,则需要使用new关键字和对应的数据类型,如代码清单2-31所示。代码清单2-31 声明之后再进行数组赋值string languages;languages = new string{"C#", "COBOL", "Java","C++", "Visual Basic", "Pascal","Fortran", "Lisp", "J#" }; C#还支持将new关键字作为声明语句的一部分使用,所以它允许像代码清单2-32那样的赋值和声明。代码清单2-32 声明的同时使用new进行数组赋值string{"C#", "COBOL", "Java","C++", "Visual Basic", "Pascal","Fortran", "Lisp", "J#"}; 使用new关键字是告诉“运行时”为数据类型分配内存。它指示“运行时”实例化数据类型——本例是一个数组。任何时候将new关键字作为数组赋值的一部分使用,都可以同时在方括号内指定数组的大小。代码清单2-33演示了这个语法。代码清单2-33 使用new关键字进行声明和赋值 string{"C#", "COBOL", "Java","C++", "Visual Basic", "Pascal","Fortran", "Lisp", "J#"};在初始化语句中,数组的大小和大括号中包含的元素数量必须匹配。除此之外,也可以分配一个数组,但不指定它的初始值,如代码清单2-34所示。代码清单2-34 分配数组,但不指定初始值string; 分配一个数组但不指定初始值仍然会初始化每个元素。“运行时”会将每个元素初始化为它们的默认值,如下所示:引用类型(比如string)初始化为null;数值类型初始化为零;bool初始化为false;char初始化为\0。其结果就是,在使用之前,不必单独对数组的每个元素进行赋值。在C# 2.0中,可以使用default()运算符来判断一种数据类型的默认值。default()获取一个数据类型作为参数。例如,default(int)会返回0,而default(char)会返回\0。由于数组大小不被作为变量声明的一部分,所以可以在运行时指定数组大小。例如,代码清单2-35根据在Console.ReadLine()调用中由用户指定的大小来创建一个数组。代码清单2-35 在运行时定义数组大小string groceryList;System.Console.Write("How many items on the list? ");int size = int.Parse(System.Console.ReadLine());groceryList = new string;// ...C#采取类似的方式来处理多维数组。要以逗号分隔每一维上的大小。代码清单2-36初始化了一个没有走棋的tic-tac-toe棋盘。代码清单2-36 声明一个二维数组 int;还可以像代码清单2-37那样,将一个tic-tac-toe棋盘初始化成特定的棋子布局。初始化一个二维整数数组 int cells = {{1, 0, 2},{1, 2, 0},{1, 2, 1}};初始化采用的模式是一个有3个int元素的维必须是完全一致的。也就是说,像代码清单2-38那样的声明是无效的。
给数组赋值有几种方式啊
就是for循环没学会吧。那就讲一下for循环和数组应用。就拿你的这个程序举例子好了,定义了一个整型数组a,然后看这段代码:for(i=0;i《3;i++){a=i;}for循环的括号里面有三个东西,for(赋初值;循环条件;步长)赋初值就是给循环变量(相当于一个计数器)赋初值,当然也可以初始化其他的变量。第一个分号后面是循环条件,只有满足循环条件才执行循环体内部的语句,不满足则跳出循环。第二个分号后面是循环变量的自增步长,就是每次循环结束以后,循环变量要增加或减少多少,当然也可以执行其他的运算,按照需求来。运算过程如下:进入for循环后,第一次循环:i=0,给变量i 赋初值为0,然后判断i《3,如果i是小于3的,那么进入循环内部执行for循环里面的语句,即a=i。这里,i是等于0的,那么a=i的意思就是a=0,也就是说,给数组a的第一个元素(即下标为0的元素)赋值为0。接着a=i这句执行完了,接着执行的是for循环的步长自增语句,即i++。i++和i=i+1是等价的,所以执行完这句语句以后,i的值从0变成了1。到这里,第一次循环就结束了,现在执行第二次循环。第二次循环:第一次循环结束以后,进入第二次循环之前,先要执行for循环的第一个分号后面的语句,就是循环条件判断。即i《3。在第一次循环结束后,i的值是1,那么1是小于3的,因此符合该条件,开始执行循环体内部的语句a=i,这里,i的值是1,那么a了,也就是数组a的第二个元素(即下标为1的元素),执行完以后,又跳回for循环的第二个分号后面了,执行i++,执行完i++以后,i的值从1变成了2。接着开始第三次循环。如此往复,第三次循环结束以后,i的值变成了3,在执行第四次循环的时候,首先进入for循环的循环条件判断,也就是第一个分号后面的语句,i《3,这个时候i的值是3,3《3是不成立的,因此从这里开始跳出循环,第四次循环也就不执行了。循环结束以后,数组a就变成这样了:a=2。而i的值在此时为3。自己一步一步写出来for循环的执行步骤就好了。总结:for(赋初值;循环变量;循环变量自增){循环体;}这句语句的执行顺序是:1.赋初值。2.判断循环条件,若满足条件执行第3步,若不满足条件执行第6步。3.执行循环体语句。4.循环变量自增。5.执行第2步。6.跳出循环。
怎么给数组中的数据赋值
有两种方法可以实现。为方便说明,定义两个整型数组a,b,并实现将a中的值赋值到b中。int a;1、 通过数组遍历,逐个赋值。定义循环变量int i;for(i = 0; i 《 4; i ++)b;该程序功能为遍历数组a,逐个赋值到数组b对应元素中。2、 借助内存复制函数memcpy,整体赋值。void *memcpy(void *dst, void *src, size_t size);这个函数的功能为将src上,大小为size字节的数据赋值到dst上。调用该函数时需要引用头文件cstring,即#include 《cstring》赋值数组的代码为memcpy(b,a,sizeof(a));
JAVA 给数组赋值
int b;int a ={1,2,3,4};b=a;
答:可以这样对数组进行赋值。
但是这种方式对数组进行赋值, 实际上是一种浅层复制.
也就是说,b实际上就是a,它们的内存地址值都是一样的, 当a发生改变,那么b也会跟着改变 。
为了真正意义上实现赋值,那么我们应该对数组进行深层复制。
深层复制后,无论a怎么改变,都不会影响到b。
具体代码如下
package core.com;import java.util.Arrays;public class DemoCopy { public static void main(String args) { //---------浅层复制-------- int a; int b = {1,2,3,4}; a=b;//浅层复制. 当b改变的时候,a会跟着改变 System.out.println(Arrays.toString(a));//输出数组a, b = 5;//改变数组b , 数组a也会跟着改变 System.out.println(Arrays.toString(a));//输出数组a, System.out.println(a==b);//输出true a就是b //-----------分割线-------- //深层复制方法一: String c ; String d = {"a","b","c"}; c = new String; // 需要初始化数组长度 for (int i = 0; i 《 d.length; i++) {//循环复制, c; } d="y";//改变数组d, 不会影响c System.out.println(Arrays.toString(c));// System.out.println(c==d); //-------------分割线--------- //深层复制方法二: int ary1; int ary2 = {8,8,8}; ary1 = new int; System.arraycopy(ary2, 0, ary1, 0, ary2.length);//调用函数进行深层复制 ary2=6;//改变数组ary2,并不会影响ary1 System.out.println(Arrays.toString(ary1)); System.out.println(ary1==ary2); }}
控制台输出
truefalsefalse
数组的赋值方法
初始化赋值的一般形式为:static类型说明符数组名={值,值……值}; 其中static表示是静态存储类型, C语言规定只有静态存储数组和外部存储数组才可作初始化赋值(有关静态存储,外部存储的概念在第五章中介绍)。在{ }中的各数据值即为各元素的初值, 各值之间用逗号间隔。例如:static int a=9;
c语言数组定义和赋值是什么
c语言数组定义是:
char c={’c’, ’ h ’, ’i’, ’n’, ’a’ , ’\0’ };
整数数组定义赋值是:
int a={1,2,3,4,5};
int a;
for(int i=0;i《5;i++)
a=i;
定义float数组并赋值:
float b={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[]数组该如何赋值
定义一个数组char a;怎么给这个数组赋值呢?1、定义的时候直接用字符串赋值char a="hello";注意:不能先定义再给它赋值,如char a="hello";这样是错误的!2、对数组中字符逐个赋值char a={’h’,’e’,’l’,’l’,’o’};3、利用strcpychar a; strcpy(a, "hello");易错情况:1、char a也是不存在的!2、char a; a="hello";//这种情况容易出现,a虽然是指针,但是它已经指向在堆栈中分配的10个字符空间,现在这个情况a又指向数据区中的hello常量,这里的指针a出现混乱,不允许!main() { char s; strcpy(s, "Good News!"); /*给数组赋字符串*/ . } 上面程序在编译时, 遇到char s这条语句时, 编译程序会在内存的某处留出连续30个字节的区域, 并将第一个字节的地址赋给s。当遇到strcpy( strcpy 为Turbo C2.0的函数)时, 首先在目标文件的某处建立一个"Good News!/0" 的字符串。其中/0表示字符串终止, 终止符是编译时自动加上的, 然后一个字符一个字符地复制到s所指的内存区域。因此定义字符串数组时, 其元素个数至少应该比字符串的长度多1。
如何给一个数组赋初值
字符串数组定义赋值:
char c={’c’, ’ h ’, ’i’, ’n’, ’a’ , ’\0’ }
整数数组定义赋值:
int a={1,2,3,4,5};
int a;
for(int i=0;i《5;i++)
a=i;
定义float数组并赋值:
float b={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语言一维数组赋值方法
一位数组赋值的几种方式inta={1,2,3,4,5,6,7,8,9,10};.一般初始化,例:inta={3,10,5,3,4,5,6,7,8,9};intarray={2,3,4,5,6};其结果是给每一个数组元素都指定了初值。2.部分元素初始化,其余元素均为零。例:inta={7,8,9,67,54};仅给前5个元素赋初值,后5个元素初值为0。3.全部元素均初始化为1。inta={1,1,1,1,1,1,1,1,1,1};不允许简写为 inta={1};或intb={1*10};同学们想一想上述定义a和b数组后,初始化结果是什么? 注意:当程序不给数组指定初始值时,编译器作如下处理:(1)部分元素初始化,编译器自动为没有初始化的元素初始化为0。(2)数值数组如果只定义不初始化,编译器不为数组自动指定初始值,即初值为一些随机值(值不确定)。4.如果全部元素均指定初值,定义中可省略元素的个数。例:inta={9,28,3,4,5};可以写为: inta={9,28,3,4,5}; 数组元素的引用c语言规定,不能整体引用数值数组,只能逐个引用数组元素;元素引用方式:数组名 例:a=a+a-a“下标表达式”可以是任何非负整型数据。特别强调:1.一个数组元素,实质上就是一个变量,它具有和相同类型单个变量一样的属性,可以对它进行赋值和参与各种运算。 2.在c语言中,数组作为一个整体,不能参加数据运算,只能对单个的元素进行处理。
怎样给数组赋值
给数组赋初值的方法:1、直接初始化:int arr={1,2,3};2、遍历访问初始化:for(i = 0;i《 3;i++) arr=i;3、内存操作函数:memset(arr,3,abs);//abs为另一个已知的数组。
4、字符串赋值函数,仅限于char型数组:strcpy(arr,abs) ;abs为一字符串或者char型数组。
nt t呵呵,也许这样理解会比较容易:“是要给t0,t1,t2,t3,t4....t100赋值”如果想每一个都赋值,这样即可:int tfor(int a=0;a《100;a++){cin》》t;}
更多文章:
手机视频mp4格式怎么弄(如何在手机版优酷里把视频的格式改为mp4格式)
2024年6月26日 16:59
无法连接到appstore怎么弄(iPad 无法连接到appstore怎么解决)
2024年5月17日 23:16
搜狗手机助手最新版下载(《搜狗手机助手》通过WiFi连接手机方法介绍)
2024年5月11日 01:29
女生对你说她是16你是5是什么意思?被减数字是16,减数字是5,它们的差是多少
2023年7月12日 21:20
《读者》杂志从微信公众号里摘取文章,你认为还有公信力吗?读者提问:十四五岁的孩子痴迷于玩手机,怎么办
2024年7月17日 06:36
通达oa精灵2017手机版(通达oa精灵手机版工作流有内容打开后显示无工作流什么原因)
2024年7月19日 18:40
msvcrtd dll(电脑总提示“没有找到msvcrtd.dll”怎么办)
2024年5月14日 04:06