精华内容
下载资源
问答
  • 关于C语言数组赋值方法

    千次阅读 2021-05-22 14:11:00
    C语言数组赋值方法数组赋值的方法分为:1.赋值语句--对数组元素逐个赋值例:#include int main(){int i,a[10];for(i = 0;i <=9;i++){a[i]=i; /*赋值语句*/}for(i = 9;i >=0;i--){printf("%d",a[i]);}return 0...

    C语言数组赋值方法

    数组赋值的方法分为:

    1.赋值语句--对数组元素逐个赋值

    例:

    #include

    int main(){

    int i,a[10];

    for(i = 0;i <=9;i++){

    a[i]=i;                                /*赋值语句*/

    }

    for(i = 9;i >=0;i--){

    printf("%d",a[i]);

    }

    return 0;

    }

    2.初始化赋值

    例:

    #include

    int main(){

    int i,a[10]={0,1,2,3,4,5,6,7,8,9};               /*初始化赋值*/

    for(i=9;i >=0;i--){

    printf("%d",a[i]);

    }

    return 0;

    }

    3.动态赋值

    例:

    #include

    int main(){

    int i,max,a[10];

    printf("input 10 numbers:\n");

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

    scanf("%d",&a[i]);      /*动态赋值*/

    }

    max=a[0];

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

    if(a[i]>max){

    max=a[i];

    }

    printf("maxmum=%d\n",max);

    }

    return 0;

    }

    展开全文
  • 展开全部方法一、在定义时赋初值1、静态数组62616964757a686964616fe59b9ee7ad9431333431353865int[3][3]={0};2、动态数组int**a=newint*[n];for(inti=0;i;i++)a[i]=newint[m](0);方法二...

    展开全部

    方法一、在定义时赋初值

    1、静态数组62616964757a686964616fe59b9ee7ad9431333431353865

    int[3][3]={0};

    2、动态数组

    int**a=newint*[n];

    for(inti=0;i<n;i++)

    a[i]=newint[m](0);

    方法二、在定义完后赋值

    for(inti=0;i<n;i++)

    for(intj=0;j<m;j++)

    a[i][j]=0;

    方法三、用一个循环吧数组所有元素设置为0:

    intarr[100];

    inti=0;

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

    arr[i]=0;//ThiswillmakeallZERO

    方法四、

    1、全局变量和静态变量初始化时会自动被设置为0。如果们声明全局变量,那么在运行前会变成全0。

    intarr[1024];//Thisisglobal

    intmain(void)

    //statements

    2、对于局部数组简写的初始化语法。如果一个数组被部分初始化,没有被初始化的元素会被自动设置为相应类型的0。这是编译器自动完成的。可以这样写:

    intmain(void)

    intarr[1024]={0};//ThiswillmakeallZERO

    //statements

    3、可以用memset函数在程序开始时初始化数组。这条命令这在已经修改了数组之后又想将它重置为全0特别有用。

    intarr[1024];

    arr[5]=67;

    memset(ZEROARRAY,0,1024);//ThiswillreinitializealltoZERO

    展开全文
  • 说到C语言结构体数组的同时赋值,许多人一想就会想到用以下的这种方法,咱们来写一个例子:#include struct student{int a;int b ;int c ;};struct student array1[1000] ;int main(void){int i ;for(i = 0 ; i < ...

    说到C语言结构体数组的同时赋值,许多人一想就会想到用以下的这种方法,咱们来写一个例子:

    #include

    struct student

    {

    int a;

    int b ;

    int c ;

    };

    struct student array1[1000] ;

    int main(void)

    {

    int i ;

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

    {

    array[i].a = 1 ;

    array[i].b = 2 ;

    array[i].c = 3 ;

    }

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

    {

    printf("array[%d].a:%d array[%d].b:%d array[%d].c:%d \n" ,

    i, array[i].a ,i, array[i].b ,i, array[i].c);

    }

    return 0 ;

    }

    这样就可以实现对结构体数组同时赋值了。

    阅读Linux内核源代码的时候看到了,原来C语言还有一种更少人知道的方法,使用 "..." 的形式,这种形式是指第几个元素到第几个元素,都是一样的内容。这种用法在标准C上也是允许的,没有语法错误,我们来看看它是怎么用的:

    #include

    struct student

    {

    int a;

    int b ;

    int c ;

    };

    //对第0个数组到第999个结构体数组同时赋值一样的内容

    struct student array[1000] = {

    [0 ... 999] = {

    .a = 1 ,

    .b = 2 ,

    .c = 3 ,

    }

    };

    int main(void)

    {

    int i ;

    //输出赋值后的数值

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

    {

    printf("array[%d].a:%d array[%d].b:%d array[%d].c:%d \n" ,

    i, array[i].a ,i, array[i].b ,i, array[i].c);

    }

    return 0 ;

    }

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

    展开全文
  • C语言数组赋值

    2021-05-19 10:04:48
    相当于定义了s数组,具体存到内存中占用了10个连续存储单元,其实1-9分别占用一个字节,最后系统还默认添加了00000000到最后一个字节中,为了标识字符串结束。在进行strlen(s)时,该函数由s的首地址开始查找,查找到...

    这段程序应该每运行一次的结果都不完全一致。具体原因是这样:这个问题想说明白不太容易,我以下瞎说,你就瞎看吧。

    char s[] = "123456789", r[9];

    相当于定义了s数组,具体存到内存中占用了10个连续存储单元,其实1-9分别占用一个字节,最后系统还默认添加了00000000到最后一个字节中,为了标识字符串结束。

    在进行strlen(s)时,该函数由s的首地址开始查找,查找到00000000的结束符结束,返回长度为9是正确的。31 32 33 34 35 36 37 38 39 00 内存地址的实际值

    1 2 3 4 5 6 7 8 9 \0 转换为ascii后的值

    s 内存指针

    r[9]就比较随机了,该语句代码划分一段长度为9的内存空间,并将此空间的首地址给r。但由于该内存中本来就存在以下值(假设):00001100 00101010 00000000 ....,所以在进行strlen(r)时,同样是由首地址开始找,找到第三个00000000结束符后结束,返回长度为2.?? ?? 00 ?? ?? ?? ?? ?? ?? 内存地址的实际值

    ? ? \0 ? ? ? ? ? ? 转换为ascii后的值

    r 内存指针

    打??代表不知道其具体值,但前两个??的值必然不是00。

    由于内存中的值是不固定的,所以这个2必然也是随机的,这次可能为2,下次还可能为3,4,5,这个依赖于当前内存中数据的实际情况。

    长度变成18原因,也是根据当前内存情况决定的。由于在运行程序的时候恰恰这样的分配的内存:?? ?? 00 ?? ?? ?? ?? ?? ?? 31 32 33 34 35 36 37 38 39 00 内存地址的实际值

    ? ? \0 ? ? ? ? ? ? 1 2 3 4 5 6 7 8 9 \0 转换为ascii后的值

    r s 内存指针

    其中\0为字符串结束符,在内存中的值为00000000,转成16进制简写为00

    然后当执行你上面的程序后,最后变成了这样:39 38 37 36 35 34 33 32 31 31 32 33 34 35 36 37 38 39 00 内存地址的实际值

    9 8 7 6 5 4 3 3 2 1 2 3 4 5 6 7 8 9 \0 转换为ascii后的值

    r s 内存指针

    此时当我们在执行strlen(r)以及打印其值时,仍然是由r的起始位置开始,一直找到 00 结束符。这也就是你后面两个问题产生的原因。

    展开全文
  • 很多学生在学习C语言时,在数组的地方会有点困惑。 1.数组必须指定长度,而其数组定义的长度不能是变量或者浮点数,一定是常量表达式; 2.数组赋值,有两种,一是在定义的时候就进行初始化,或者单个引用来赋值...
  • c数组赋值分为赋初值和赋值两种。赋初值又称为初始化,是在编译时进行的,故不占用运行时间。赋值是用赋值表达式语句,在运行时间进行的。二者虽然都可使数组元素获得所需要的值,但是就其方法和时间是不同的。1....
  • c语言数组赋值的3种形式在C语言中,对数组进行赋值的三种形式推荐学习:C语言视频教程1、通过循环的形式 即:数组名[下标] 对数组的元素进行依次赋值#include int main(){int i;int a[10] = {0};for(i=0;i<10;i...
  • C语言字符数组赋值

    2021-05-19 08:09:27
    C语言字符数组赋值教程C语言字符数组赋值详解语法arr[index] = value;参数参数描述arr数组名。index需要赋值的下标索引。value需要设置的值。说明给数组 arr 的索引 index 的位置设置值 value。循环赋值详解语法...
  • #include<stdio.h> int main() { char a[11],b[11];//字符串长度不多于10 int i; gets(a); for(i=0;a[i]!='\0';i++) { b[i]=a[i]; } b[i]=a[i]; puts(b); return 0; }
  • C语言结构体数组定义及赋值

    千次阅读 2021-08-03 17:10:17
    做了一个小的例子: #include <stdio.h>... Lnk[0].LinkId = 1; Lnk[0].LinkLen = 300; Lnk[0].NxtLnkId = 2; Lnk[1].LinkId = 2; Lnk[1].LinkLen = 100; Lnk[1].NxtLnkId = 3; Lnk[2]
  • 对于历史信息,这可能很有趣:http://cm.bell-labs.com/who/dmr/chist.html... Ritchie在C中改变了这个,所以名字“是”数组,但在使用时可以衰减指针:The rule, which survives in today’s C, is that values of ...
  • 疑问:书上明确说,数组的元素从0开始一直到数组长度-1,如int a[4],那么它的元素就有a[0],a[1],a[2],a[3]。没有a[4]元素,但经过程序验证,发现a[4]不仅存在还可以正常赋值,这样似乎不合理,那到底是哪地方出...
  • 数组给指针赋值的特殊性 变量名的地址赋值给指针时,必须加取地址符& int*p; int a=1; p=&a;//正确 p=a;//错误 数组名的地址赋值给指针时,给的是首元素地址,和传递参数是一样 int arr[10]; int *p; ...
  • c语言中,数组赋值

    2021-11-03 21:42:01
    c语言中,a[5]会在内存中申请5块内存,可以存入数字,还可以赋值! 如a[2] = 3;//会将数组中第三个数值变成3! #include <stdio.h> #include <stdlib.h> int main() { int a[5] = {7,2,5,3,6}; ...
  • C语言怎样给字符数组赋值

    千次阅读 2021-09-11 15:43:53
    1、数组在定义时, 可以同时进行初始化,但...可通过数组下标方式或指针方式,引用数组元素,进行赋值。 例子: char a[10]; char ch=‘a’; for( i=0;i<10;i++ ) a[i]=ch+i ; //可通过数组下标引用数组元素,完成赋
  • 它表示定义了一个整型数组数组 a,定义的数组称为数组 a。此时数组 a 中有 5 个元素,每个元素都是 int 型变量,而且它们在内存中的地址是连续分配的。也就是说,int 型变量占 4 字节的内存空间,那么 5 个int...
  • #include <stddef.h> #include <stdio.h>... return 0; } int test2() { return 0; } int main() { int array[3] = {1,2,3}; Struct stru = {1,2}; Struct sru2 = stru; int a =
  • 展开全部是默认为0的,在数组的初始化中,可以只对部分元素赋初值,未赋初值的元素自动取0值。若对32313133353236313431303231363533e59b9ee7ad9431333431373139全部元素赋初值,则第一维的长度可以不给出。初始化...
  • c语言scanf对数组赋值

    千次阅读 2021-05-25 02:27:48
    c语言scanf对数组赋值c语言数组动态赋值,《手把手教你学51单片机-C语言》之六 中断与数码管动态显示,c语言结构体数组赋值,c语言scanf对数组赋值c语言 动态数组赋值,,c语言结构体数组赋值,c语言scanf对数组赋值C语言...
  • 展开全部C语言数组的初始化表示方法有4种,分别是:1、定义的同时进行32313133353236313431303231363533e58685e5aeb931333365646364初始化,我们同样用数组的初始化引出结构体的初始化,我们知道数组在定义的同时...
  • 满意答案laoli_a2013.06.18采纳率:55%等级:13已帮助:23198... 10X10X10的3维数组 赋初值全部为0for(int i=0;i<10;i++)for(int j=0;j<10;j++)for(int k=0;k<10;k++)printf("a[%d][%d][%d]:%d\n",i,j,k,a...
  • 展开全部普通数组2113没有赋初值,默认的数组...或者把数组定义在函数的外面,成为全局变量数组,这时数组元素的值自动赋值为0。例子:#includeint main(void){int m = 0;static int n;int a = 5, b = 6, c = 7, d ...
  • c语言 结构体数组赋值 //**创建结构体** #include<stdio.h> struct Class{ int id; char name[10]; }; //******结构体数组赋值 int main(){ int m; //定义结构体数组的长度所需变量 int i; printf(...
  • 当前位置:我的异常网» C语言»C语言程序,数组元素无法赋值,请大家帮忙看看解决C语言程序,数组元素无法赋值,请大家帮忙看看解决方案www.myexceptions.net网友分享于:2013-03-20浏览:13次C语言程序,数组元素...
  • C语言数组详解

    千次阅读 2021-05-22 01:17:48
    一个数组可以分解多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。本章介绍数值数组和字符数组,其余的在...
  • 例子:先用循环结构给数组元素a[0]~a[9]赋值0到9,然后再按照9-0输出 #include <stdio.h> int main() { int i, a[10]; #定义整型变量i和整型数组a for (i = 0; i <= 9; i ++) #先后对1
  • C语言数组是什么

    2021-05-18 13:44:31
    C语言数组是什么C语言数组是什么呢?大家是否清楚呢?下面是小编分享的C语言数组的概念,欢迎大家参考!例子:输出一个 4×4 的整数矩阵,代码如下:#include #include int main(){ int a1=20, a2=345, a3=700, a4=22; ...
  • a是一个静态数组,在C语言中其在编译期间一个常量表达式,而常量表达式可以当做是常量来使用,所以不能对于a进行指针赋值操作,既然这样是错误的,这么对于字符数组进行赋值呢 2.字符数组单个字符的赋值操作 最...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 138,276
精华内容 55,310
关键字:

c语言数组全部赋值为0

c语言 订阅