C 函数的数组类型不是C的基本数据类型型_省 略,因为C 函数没有设置默认值,无需返回 值,

  数组类型不是C的基本数据类型型可以理解为固定内存大小的别名比如int类型,就是表示占用4字节的内存

不同数组类型不是C的基本数据类型型占据内存空间不一样,寫代码测试:

可见a用数组名代表数组首元素地址,a+1则代表数组第二个元素地址大4个字节正好

但是, &a+1却比&a大了40个字节都是指针加1为什麼相差的内存地址差这么多?

因为a代表数组首元素地址 &a代表的是整个数组的地址。a是int指针&a却是int数组a的指针,数组类型不是C的基本数据類型型不一样指针的步长也不一样 

  ①给数组定义别名

  ②给结构体定义别名

  PS: C语言是这么规定的,但是有的IDE(如Visio Studio)做了优化可以直接用student定义結构体变量。虽然在这些IDE里可以但是语法其实是错误的。

 下面给该结构体定义别名:

  ①可以做数组类型不是C的基本数据类型型的封装

  比如声明个结构体类型Student

  ②可以用于函数返回值和函数参数

  ①void  用于函数返回值和函数参数 表示无类型

  ②void*   void* 指针可以强制转换成任意类型指针,也可以把任意类型指针转换成 void* 指针如下:

 PS: src和dest都是char型数组,为什么说是char *指针呢c语言中数组做函数参数是就是自动当作指針处理。可以用sizeof操作符验证下

发布了96 篇原创文章 · 获赞 8 · 访问量 2万+

在C语言中引用数组元素时,其數组下标的数组类型不是C的基本数据类型型允许是______

C.整型常量或整型表达式

解析:C语言规定只能逐个引用数组元素而不能一次引用整个數组,数据元素的表示形式为数组名[下标]下标可以是整型常量或整型表达式。

  • B的硬盘表示容量约为( )A.20亿个字节B.20亿个二进制位C.200亿个字节###S

    20GB的硬盘表示容量约为( )。

    D.200亿个二进制位

  • 十进制数18转换成二进制数是( )

  • 世界上公认的第一台电子计算机诞生的年代是( )。A.20世纪30年代B.20世纪40年玳###SXB##

    世界上公认的第一台电子计算机诞生的年代是( )

  • C语言程序的基本单位是( )

我要回帖

更多关于 数组类型不是C的基本数据类型 的文章

 

随机推荐