zoukankan      html  css  js  c++  java
  • 个人理解的int数组和char数组

    char数组中不论是一维还是二维的,在程序执行时每一块的分离依据都是以提供的起始地址到''为一个处理的字符串。所以关于char[]的函数都是只提供相应起始地址作为形参就可以。

    char[]互相交换内容时不是用的=号,而是使用strcpy(a,b),char[]只有在初始化的时候可以用=号,其中a为“被赋值的“char[]的起始地址,b为“要赋的值“的char[]的起始地址。要修改其中的某个字符则可以使用=号

    另外例如char* a="abcd"和char b[5]="abcd";区别在于b可以任意修改字符数组中的某个字符,而a在初始化之后不能修改.

    但是a可以改变自身所指向的地址,b为数组名为"指针常量"不能修改其指向地址.

    二维的int数组int a[3][10],要将其中3个一维数组中的某个作为形参输入到函数中进行处理。例如:

    #include<stdio.h>
    void and1(int b[])
    {
    b[1] = b[1] + 1;
    }
    int main(void)
    {
    int a[3][2] = {1,2,3,4,5,6};
    and1(a[2]);
    printf("%d",a[2][1]);
    return 0;
    }

    这个程序的目的就是要将二维int数组中的第三个数组的第二个元素加一。为什么这么写就可以了,是因为int数组是根据4个字节为一个处理的数值

    形参b[]只是想要提供一个你要处理的一维数组的起始地址而已。

  • 相关阅读:
    cadence中画焊盘注意事项
    频率带宽解释
    一种RC滤波电路的验证
    24L01-2.4G无线传输模块调节记录
    51中xdata,idata,data,pdata的区别
    调试24L01经验总结
    将scl分频
    I2C详细介绍
    汽车电源系统概述
    PCB命名规则-allegro
  • 原文地址:https://www.cnblogs.com/ma77045728/p/6921409.html
Copyright © 2011-2022 走看看