C语言有数组a[1]=1,a[2]=2,a[3]=3怎么合并成123整数?

其实这两个东西挺难理解的,应该也没有那么重要,了解一下好了,主要还是要多多理解数组指针的运算

最近又把学习c语言提上日程上来了~~~先把我打算看的书都写下来吧,<C语言深度剖析>,<c和指针>系类,<c语言陷阱和缺陷>

先说说a和&a的区别(有三点,三个方向):

  1. 是a和&a的本质,都是什么类型的。

声明:虽然数组名不是指针,但是用的很像指针,我们暂且把它叫做一个指针吧。

a叫做数组名,是数组首元素的地址,也就是&a[0]的值。像是一个指针类型,是一个int型的指针类型,int *,先理解成指针吧。

&a这才是一个真正的指针,是一个数组指针。是数组的地址。
切记:&a不是指向指针的指针,因为&a和a的值相等,但是*&a和*a的值不相等。*&a和a的值一样,说明*&a仅仅是对这个数组指针进行了取值,取得的是数组的值,即数组首元素的地址,而不是对&a这个地址进行了取值。这个应该是c语言中针对数组指针运算的规定。
这里的数组指针&a取值之后,变成了a,是a,不是*a,变成了这个数组的数组名,或者说是数组首元素的地址。

这句没有像常规的一样对&a进行取值,而是强制类型转换了一下,可见这个不是一个指向指针的指针。

二维数组中的利用指针来遍历的方式,也不是一个指向指针的指针(2级指针) ,这句printf("%d\n", *(*(a+i) + j)); *(a+i)也就是将数组指针取值获得数组的首元素地址,常常的误区就是数组指针的取值运算和普通的指针取值运算不一样。数组指针取值运算类似一个强制类型转换的过程。

注意:二维数组的数组名a,是***个一维数组的数组指针,*a就是***个一维数组的数组名。也可以直接用tpye *强制类型转换。

}

华清美女学霸总结了一些C语言指针习题,比较全面,对这方面有困难的可以看看。

1.以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是___B____.

a)*p表示的是指针变量p的地址

b)*p表示的是变量a的值,而不是变量a的地址

c)*p表示的是指针变量p的值

d)*p只能用来说明p是一个指针变量

2.若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是___A___

程序运行后的输出结果是 B

执行后的输出结果是 C

A)p向高地址移了四个字节 B)p向高地址移了一个存储单元

C)p向高地址移了两个字节 D)p与a+1等价

7.若有以下定义,则对a数组元素的正确引用是___D______.

程序运行后的输出结果是( A ) ++ 的优先级高于 *

13.若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引

不能给数组a输入字符串的语句是(B)

16.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是(C)

a)a+1表示的是字符t的地址b)p指向另外的字符串时,字符串的长度不受限制c)p变量中存放的地址值可以改变d)a中只能存放10个字符

程序运行后的输出结果是__B___。

22.下段代码的运行结果是:D

}会正常输出但有越界的错误

23.下段程序的运行结果是 :B

24.下列选项中声明了一个指针数组的是:E

25.下面代码能通过编译的是:A

A) pa是一个指向数组的指针,所指向的数组是5个int型元素

B) pa是一个指向某数组中第5个元素的指针,该元素是int型变量

C) pa [5]表示某个元素的第5个元素的值

D) pa是一个具有5个元素的指针数组,每个元素是一个int*型指针

27、若有以下定义,且0≤i<4,则不正确的赋值语句是___B____.

28、若有以下说明语句:

C) language[2]元素的值,它是字符串PASCAL的首地址D)格式说明不正确,无法得到确定的输出

这段程序的输出是(C)

30、下面判断正确的是 C 。

33、设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下

不能正确执行的赋值语句是 B 。

41、以下正确的说明语句是 B 。

43、下面程序段的输出是 C

44、若要对a进行自增运算,则a应具有下面说明 D 。

45、若有定义int a[4][6];则能正确表示a数组中任一元素a[i][j](i,j均在有效范围内)地址的表达式 A 。

46、下面程序的运行结果是 B

A)cc数组的两个元素中各自存放了字符串”1234”和”5678”的首地址

B)cc数组的两个元素分别存放的是含有4个字符的一维字符数组的首地

址 字符串保存在只读常量区

C)cc是指针变量,它指向含有两个数组元素的字符型一维数组

}

我要回帖

更多关于 数组a[10]中有几个元素 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信