当前位置: 首页 > wzjs >正文

庆阳网站设计 贝壳下拉新网站快速收录

庆阳网站设计 贝壳下拉,新网站快速收录,阿里云静态网站托管,wordpress连接mysql8开始今天的复习,复习接上回C语言复习笔记--操作符详解(上)-CSDN博客.下面就从结构体访问操作符来说说. 结构成员访问操作符 结构体 首先先引入一下结构体,C语⾔已经有很多内置类型,如:char,short,int,long,float,double等,但是只有这些内置类…

        开始今天的复习,复习接上回C语言复习笔记--操作符详解(上)-CSDN博客.下面就从结构体访问操作符来说说.

结构成员访问操作符

  结构体

        首先先引入一下结构体,C语⾔已经有很多内置类型,如:char,short,int,long,float,double等,但是只有这些内置类型还是不够的,描述⼀个学⽣需要 名字、年龄、学号、⾝⾼、体重等.C语⾔增加了结构体这种⾃定义的数据类型,让我们可以创造适合的类型.

        结构是⼀些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量,如: 标量、数组、指针,甚⾄是其他结构体。

        结构的声明

struct tag

{

member-list;

}variable-list;

一定不要忘记结构体后面有;

例子:

struct Stu

{

        char name[20];//名字

        int age;//年龄

        char sex[5];//性别

        char id[20];//学号

}; //分号不能丢

        结构体变量的定义和初始化

        结构体一般用{}来初始化,具体事例见下:

//变量的定义
struct Point
{int m;int n;
}p2, p3;
struct Point p1;//初始化
struct Point p1 = { 1,2 };
//用.可以指定初始化,不需要加上结构体的名字
struct Point p2 = { .n = 3,.m = 4 };struct Node
{struct Point;struct Node* next;
}n2 = { {0,1},NULL };//也可以直接初始化(不要忘记=)
//如果内部嵌套了另一个结构体,要再加一个{}去初始化.
struct Node n1 = { {1,2},NULL };

  结构成员访问操作符

        结构体成员的直接访问

        结构体成员的直接访问是通过点操作符(.)访问的。点操作符接受两个操作数.

        使⽤⽅式:结构体变量.成员名

struct Point
{int x;int y;
}p = { 1,2 };
int main()
{printf("x: %d y: %d\n", p.x, p.y);return 0;
}

        结构体成员的间接访问

        有时候我们得到的不是⼀个结构体变量,⽽是得到了⼀个指向结构体的指针,这是就要间接访问.

        使⽤⽅式:结构体指针->成员名

struct Point
{int x;int y;
}p = { 1,2 };
int main()
{struct Point* p1 = &p;printf("%d %d", p1->x, p1->y);return 0;
}

        这里只是结构体的一个引入,更多关于结构体的知识会在后面的复习中提及.

操作符的属性:优先级、结合性

        优先级、结合性,这两个属性决定了表达式求值的计算顺序

  优先级

        优先级指的是,如果⼀个表达式包含多个运算符,哪个运算符应该优先执⾏.各种运算符的优先级是不⼀样的,相邻的操作符优先级高的先计算.

        运算符的优先级顺序很多,下图是部分运算符的优先级顺序(按照优先级从高到低排列),建议⼤概记住这些操作符的优先级就⾏.可以使用()改变其他运算符的优先级.

  结合性

        如果两个运算符优先级相同,优先级没办法确定先计算哪个了,这时候就看结合性了,则根据运算符是左结合,还是右结合,决定执⾏顺序。⼤部分运算符是左结合(从左到右执⾏),少数运算符是右结合(从右到左执⾏),⽐如赋值运算符( = ).

        要是想看其他的优先级和结合性可以去           https://zh.cppreference.com/w/c/language/operator_precedence看下.

表达式求值

  整型提升

        C语⾔中整型算术运算总是⾄少以缺省整型类型的精度来进⾏的。 为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升

        看个例子:

        那么如何进行整型提升呢?

        1. 有符号整数提升是按照变量的数据类型的符号位来提升2.⽆符号整数提升,高位补0.

  算术转换

        如果某个操作符的各个操作数属于不同的类型,那么除⾮其中⼀个操作数的转换为另⼀个操作数的类型,否则操作就⽆法进⾏。下⾯的层次体系称为寻常算术转换.

        如果某个操作数的类型在下面这个列表中排名靠后,那么首先要转换为另外⼀个操作数的类型后执行运算.

  一些问题表达式

        可能看起来好像没什么问题,但是如果这里面的字母代表一个表达式呢?如果里面都有a++这种表达式,那么计算的先后就会影响到最终表达式的结果.

        在写表达式时一定要主意,在该加()的地方就加上,防止出现一些问题表达式.今日复习到此结束,大家晚安~

http://www.dtcms.com/wzjs/573770.html

相关文章:

  • 定制型网站制作价格旅游公司网站建设
  • 上海最专业的网站设计制wordpress的文件结构
  • 电商网站 手续如何进行网站网站调试
  • 如何做网站美工flask 电影网站开发
  • 做一款小程序需要多少钱宁波正规seo推广公司
  • 玉溪网站开发做怎么网站
  • 企业为什么做网站系统南沙定制型网站建设
  • 高端企业网站开发深圳的互联网企业
  • 制作网站后台电子商务网络营销是什么
  • 网站广告布局无法进行网站备案
  • 湖南铁军工程建设有限公司官方网站yzipi主题wordpress
  • 长沙建网站联系电话宜城网站建设
  • 网站定制开发四大基本原则绵阳建设局网站皱劲松
  • 江西赣建建设监理网站哪个浏览器能打开那种网站
  • 安徽专业网站建设大全推荐暴雪游戏
  • 北京网站优化哪家好网站首页优化
  • 兰州建设一个网站多少钱泉州关键词自动排名
  • wordpress制作大型网站锦州网站优化
  • 龙岗网站建设哪家好为何建设银行的网站登不上去
  • 网站建设共享wordpress 会员聊天
  • 免费做国际网站申请个人网站有什么用
  • 虚拟空间网站ftp如何差异化同步如何搭建钓鱼网站
  • 郧阳网站建设如何网上注册公司流程
  • 南京做企业网站公司哪家好嘉兴模板建站平台
  • 可信网站认证费用建设网站定位分析
  • 做网站的数据从哪里来创建自己的个人网站
  • 昆明做网站建设硬件设备wordpress播放网盘视频
  • 汉中网站建设价格wordpress前台弹窗
  • 网站建设易网拓做百度手机网站关键词
  • 链接网站怎么做怎么做自己的充值网站