指针与结构体习题解析:选择与实例
需积分: 0 178 浏览量
更新于2024-08-05
收藏 83KB PDF 举报
在本篇关于《第6章指针与结构体》的C#编程习题中,我们将探讨一系列关于指针和结构体的概念。首先,选择题部分涉及指针的正确用法:
1. 不正确的定义是(C)。在C语言中,指针定义应先声明指针变量再初始化,选项C中先定义了整型变量`i`再将其地址赋给指针`p`,是不正确的。
2. 非法的赋值语句是(D)。`p=n`试图将一个整型变量的地址赋给另一个整型变量,这在C语言中是不允许的,因为`p`是存储整型地址的指针,而`n`是一个变量。
3. 正确的指针定义和初始化是(B)。`int *p=a;`将指针`p`指向数组`a`的首元素,这是对数组元素间接访问的常见方式。
4. 对数组元素的正确引用是(C)。使用指针加法`(p+2)`表示数组元素的偏移,然后使用解引用操作`*(p+2)`来访问该元素。
5. 数值为9的表达式是(B)。在给定的数组`inta[]`中,元素索引从0开始,所以数值为9的元素对应于索引8,因此`(P+8)`指向该位置,即`*(P+8)`。
6. 程序输出结果是(C)。在`fun`函数中,`*a`和`*b`的值会发生交换,所以原`x=2`和`y=3`调用后变为`x=3`和`y=2`,输出为`3,2`。
7. 结构体相关知识点中,(D)是不正确的。`stu`是用户自定义的结构体类型名,但不是关键字。
8. 错误的叙述是(D)。结构变量与基本类型的变量间不能直接赋值,它们必须通过成员名间接进行。
9. 对结构体成员`age`的非法引用是(B)。在C语言中,`student.age`是语法错误,应该是`stu1.age`或`(*p).age`来访问结构体变量的成员。
10. 最后,题目要求定义一个结构体(联合)数组,但是给出的信息不完整,无法提供完整的代码示例。通常会定义一个`struct`或`union`类型,然后分配数组来存储结构体或联合类型的实例。
总结这些习题,本章的核心内容包括指针的声明、赋值、数组操作以及结构体的基础概念,如成员访问、类型定义和错误使用。熟练掌握这些概念对于理解C#中的数据组织和内存管理至关重要。
2012-10-09 上传
2014-06-29 上传
点击了解资源详情
2022-06-13 上传
2021-12-29 上传
2022-08-08 上传
2021-07-26 上传
2016-05-10 上传
2021-07-26 上传
生活教会我们
- 粉丝: 33
- 资源: 315
最新资源
- 行业分类-设备装置-可移动平台的观测设备.zip
- study:学习
- trivia_db:琐事数据库条目
- SampleNetwork:用于说明数据源与模型之间的链接的示例网络
- commons-wrap:包装好的Apache Commons Maven存储库
- rdiot-p021:适用于Java的AWS IoT核心+ Raspberry Pi +适用于Java的AWS IoT设备SDK [P021]
- 测试工作
- abhayalodge.github.io
- 行业分类-设备装置-可调分辨率映像数据存储方法及使用此方法的多媒体装置.zip
- validates_existence:验证 Rails 模型belongs_to 关联是否存在
- 26-grupe-coming-soon
- aquagem-site
- cpp_examples
- Scavenge:在当地的食品储藏室中搜索所需的食物,进行预订,并随时了解最新信息! 对于食品储藏室管理员,您可以在此处管理食品储藏室信息和库存
- Hels-Ex7
- 行业分类-设备装置-可调式踏板.zip