专栏首页测试开发架构之路验证 结构体指针与自增运算符

验证 结构体指针与自增运算符

#include <stdio.h>
#include <stdlib.h>

int main() {

 struct student {
  char *name;
  int score;
 };

 struct student st = {"Brian", 97};
 struct student *ptr = &st;

 printf("ptr->name = %s\n", ptr->name);
 printf("*ptr->name = %c\n", *ptr->name);
 printf("*ptr->name++ = %c\n", *ptr->name++);//获取首地址字符后,将name指针友谊一位,指向r
 printf("*ptr->name = %c\n", *ptr->name);
 printf("ptr->score = %d\n", ptr->score);
 printf("ptr->score++ = %d\n", ptr->score++);
 printf("ptr->score = %d\n", ptr->score);
 return 0;
}

1. ptr->name,等同于打印(*p).name。

2. *ptr->name,因为->的优先级高于*,所以相当于: *(ptr->name)。即指针首地址的那个字符。

3. *ptr->name++,由于*和++的优先级相同,而且结合性是由右至左,所以相当于: *((ptr->name)++),即获取首地址字符后,将name指针右移一位。(当前打印还是首地址的值)

4. *ptr->name,此处为验证上一步的指针位置。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 今天研究了一下手机通信录管理系统(C语言)

    题目:手机通信录管理系统 一、题目要求 二、需求分析 三、设计步骤/编写代码 四、上机/运行结果 五、总结 一、题目要求 模拟手机通信录管理系统,实现对手机中...

    互联网金融打杂
  • 总结了一些指针易出错的常见问题(六)

      安全问题与指针误用 声明和初始化指针(初始化失败) 误用指针 释放问题 指针声明: // 宏定义(仅仅是替换) #define PINT int*; PIN...

    互联网金融打杂
  • centos7配置Hadoop集群环境

    https://blog.csdn.net/pucao_cug/article/details/71698903 

    互联网金融打杂
  • 美团点评:前端工程师-实习面经 2018.03.231. 投递信息来源2. 投递及面试时间3. 面试过程4. 感受

    1. 投递信息来源 感谢牛客网以及牛客网网友的帮助,招聘信息来自牛客网上美团点评的免笔试内推二维码。 2. 投递及面试时间 2018.03.09 - 网申(来...

    牛客网
  • python的析构方法__del__

     对象的__del__是对象在被gc消除回收的时候起作用的一个方法,它的执行一般也就意味着对象不能够继续引用

    py3study
  • flask第十七篇——模板【1】

    用户2149234
  • 原 Windows 64位下 PostgreSQL的编译

    王果壳
  • Linux文件查找命令详解

    对于文件查找,我们最好用的还是属于find命令了,在说find命令之前,先把另外几个查找命令介绍一下。

    信安本原
  • 富川市到芝加哥——以云计算应用角度来看智慧城市

    富川市位于韩国首尔西部地区,是首尔西部地区的文化中心,也是商业和工业中心。作为连接首尔和重要港口仁川市的纽带,富川市一直在努力提高交通管理的效率问题,包括降低交...

    博文视点Broadview
  • 一起来学 SpringBoot 2.x | 第七篇:整合 Mybatis

    摘要: 原创出处 http://blog.battcn.com/2018/05/09/springboot/v2-orm-mybatis/ 「唐亚峰」欢迎转载,...

    芋道源码

扫码关注云+社区

领取腾讯云代金券