zoukankan      html  css  js  c++  java
  • C基础--C语言的数组

    数组的定义:

    一、正确写法:

    1.int ages[5]--定义了一个5个长度的int类型的数组

    2.int ages[]={1,2,3,4,5};--定义了一个5个长度的int类型的数组,并且初始化数组的值

    3.int ages[5]={10};--定义了一个5个长度的int类型的数组,并且给ages[0]=10;

    二、错误写法:

    1.int a[];    2.int[5] a--C#,java语言中定义数组的方法,一定要与C语言区分开!

    2.int a[] = {10,12,13};  a={11,15,16};--数组的名字代表了数组在内存中的地址,可以认为是常量

    三、数组与函数,牵扯到了指针,以后详细说明

     1 #include <stdio.h>
     2 void change(int);
     3 void change2(int []);
     4 
     5 int main()
     6 {
     7     int ages[10] = {10, 11, 14, 15, 17};
     8     
     9     //printf("数组占用的字节数:%ld
    ", sizeof(ages));
    10     
    11     //change(ages[1]);
    12     
    13     change2(ages);
    14     
    15     printf("ages[1]=%d
    ", ages[1]);
    16     
    17     return 0;
    18 }
    19 
    20 // 当数组作为函数形参时,数组元素个数可以省略
    21 // 当数组作为函数形参时,传递是数组的地址,array和ages共用一块存储空间
    22 // 在函数内部计算形参数组所占字节数时,永远是8(64bit)
    23 // 因为系统会讲形参数组转为指针类型,指针类型永远只占8个字节
    24 void change2(int array[])
    25 {
    26     printf("数组占用的字节数:%ld
    ", sizeof(array));
    27     
    28     
    29     array[1] = 100;
    30 }
    31 
    32 // 基本数据类型作为函数形参时,只是值传递
    33 // 修改函数内部的形参,并不会影响外面的实参
    34 void change(int a)
    35 {
    36     a = 10;
    37 }
  • 相关阅读:
    opencv中彩色图转换成灰度图rgb2gray
    C和MATLAB中:同时对多个变量连续赋值
    error LNK2019: 无法解析的外部符号
    空间中两直线位置关系
    百度网盘不能绑定QQ
    matlab中双站异面直线法定位目标
    Sublime Text3编辑器简介
    Sybase IQ使用过程中注意事项
    Sybase数据库常用函数
    Sybase数据库第三方软件安装
  • 原文地址:https://www.cnblogs.com/gchlcc/p/5116795.html
Copyright © 2011-2022 走看看