【每日反刍】——指针运算
创始人
2025-05-30 05:39:41

🌏博客主页:PH_modest的博客主页
🚩当前专栏:每日反刍
💌其他专栏:
🔴 每日一题
🟢 读书笔记
🟡 C语言跬步积累
🌈座右铭:广积粮,缓称王!

一.结构体基础知识

1.题目

有如下代码:

struct student
{int num;char name[32];float score;
}stu;

则下面的叙述不正确的是:( )
A.struct 是结构体类型的关键字
B.struct student 是用户定义的结构体类型
C.num, score 都是结构体成员名
D.stu 是用户定义的结构体类型名

2.答案

D

3.分析

A:正确,在C语言中需要自定义类型时,要用到struct关键字
B:正确:在C语言中,用struct定义的结构体,定义结构体类型变量时,需要用struct student,struct student stu1={...};这段代码可以和int a=0;进行比较,struct student可以看成int,stu1可以看成a,即struct student是一种类型(结构体类型),stu1是定义的一种变量(结构体类型变量)
C:正确:结构体中的变量名称,称之为结构体的成员
D :错误:stu是定义的结构体类型变量,不是名称,如果想要让stu为结构体类型名称时,必须在结构体定义时添加 typedef关键字

结构体概念

二.结构体成员的访问

1.题目

结构体访问成员的操作符不包含:( )
A… 操作符
B.-> 操作符
C.* 解引用操作符
D.sizeof

2.答案

D

3.分析

这题选出正确答案非常简单,但我想再强调一下这几个操作符应如何使用
在这里插入图片描述

三.指针运算

1.题目

下面关于指针运算说法正确的是:( )
A.整形指针+1,向后偏移一个字节
B.指针-指针得到是指针和指针之间的字节个数
C.整形指针解引用操作访问4个字节
D.指针不能比较大小

2.答案

C

3.分析

注意:此题是有问题的,说法不严谨,如果将整形指针理解成int*类型的指针,那么一下说法解析如下
A:错误,整形指针+1,向后移动一个整形类型的大小,即4个字节
B:错误,两个指针相减,指针必须指向一段连续空间,减完之后的结构代表两个指针之间相差元素的个数
C:正确,整形指向的是一个整形的空间,解引用操作访问4个字节
D:指针中存储的是地址,地址可以看成一个数据,因此是可以比较大小的

四.结构体成员的访问

1.题目

下面程序要求输出结构体中成员a的数据,以下不能填入横线处的内容是( )

#include < stdio.h >
struct S
{ int a;int b; 
};
int main( )
{ struct S a, *p=&a;a.a = 99;printf( "%d\n", __________);return 0;
}

A.a.a
B.*p.a
C.p->a
D.(*p).a

2.答案

B

3.分析

结构体类型变量需要访问其成员时,用.运算符,如果是指向结构体变量的指针访问时,需要用->,或者先对指针解引用,取到指向的结构体类型的变量,再通过.访问,但是要注意优先级

最后

本系列主要是分享好题和错题,方便平时反刍,反复练习才能真正掌握一个知识点。

我始终相信广积粮,缓称王!

相关内容

热门资讯

铜川十大著名网红景点有哪些 铜川,这座充满魅力的城市,拥有众多令人心驰神往的网红景点,吸引着无数游客前来打卡。这些景点各具特色,...
冬季家常菜,简单易做轻松搞定! 冬季寒冷,一家人围坐在一起,吃上一顿热气腾腾的饭菜,不仅是味蕾的满足,更是心灵的慰藉。今天就为大家带...
不敌“9.9元”内卷?台湾网红... 当前奶茶市场品牌众多,竞争激烈,从喜茶率先将主流产品价格下调为15-19元,到奈雪的茶推出9-19元...