c语言字符串和指针十个问题

预习了一些数组和指针的内容,书上有几个问题,整理了下来。。。另外在网上也找了找,也一起补充了进来

1-数组的下标是从0开始的吗?
是,对于数组a【max】来说,他的第一个和最后一个元素分别是a【0】和a【max-1】。

2-可以使用数组后面第一个元素的地址么?
可以,可以使用数组后面第一个元素的地址,但不能查看该地址的值。

3-为什么要小心对待位于数组后面的那些元素地址呢?
基址无法改变,偏移量也不能为负值,那么有些地址就会无效了。

4-数组作为参数传递给函数是,可以通过sizeof得到数组的大小吗?
不可以,把数组作为函数的参数是,无法在程序运行是通过数组参数本身告诉函数该数组的大小,因为函数的数组参数相当于指向该数组第一个元素的指针。

5-指针或带下标的数组名都可以访问元素,哪一种更好?
指针更好,因为使用指针运算更快,而使用带下标的数组名则使用乘法。一般来讲,乘法运算是比间接引用慢的。

6-可以 把另一个地址赋给一个数组名吗?
不可以。数组名不能被放在赋值运算符的左边。一个数组是一个对象,而他的数组名就是指向这个对象的第一个元素指针。

7-字符串和数组有什么不同?
数组的元素可以是任意一种类型,而字符串是一种特别的数组,使用了众所周知的确定长度的规则。

8-array_name和&array_name有什么不同?
前者是指向数组中第一个元素的指针,后者是指向整个数组的指针。

9-函数声明和定义的不同?
函数的声明就只是声明一个函数的名字,而定义则是确定一个函数的意义,即确定了一个函数的所有部分。

10-为什么用const说明的常量不能用来定义一个数组的初始大小?
在C语言中,只有C语言常量表达式才能用来定义一个数组的初始大小。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值