C++知识点:typedef struct、printf

 2023-09-10 阅读 14 评论 0

摘要:struct和typedef struct 1 首先://注意在C和C++里不同     在C中定义一个结构体类型要用typedef:     typedef struct Student    {    int a;    }Stu; 在声明变量的时候就可:Stu stu1.这里的Stu实际

                                                           struct和typedef struct

1 首先://注意在C和C++里不同
    在C中定义一个结构体类型要用typedef:
    typedef struct Student
    {
    int a;
    }Stu;
在声明变量的时候就可:Stu stu1.这里的Stu实际上就是struct Student的别名。Stu==struct Student
    另外这里也可以不写Student:
    typedef struct
    {
    int a;
    }Stu;
    但在c++里很简单,直接
    struct Student
    {
    int a;
    };    
    于是就定义了结构体类型Student,声明变量时直接Student stu2, 然后stu2.a;
======================================================================================
    在c++中typedef可用可不用。如果用typedef的话,又会造成区别:
    struct   Student   
    {   
    int   a;   
    }stu1;//stu1是一个声明的变量  (同Student stu1)

使用时可以直接访问stu1.a
    typedef   struct   Student2   
    {   
    int   a;   
    }stu2;//stu2是一个结构体类型=struct Student  

 则必须先   stu2 s2;     然后               s2.a=10;
====================================================================================== 

typedef struct引用。    typedef struct和struct的区别:

    typedef struct tagMyStruct
    { 
     int iNum;
     long lLength;
    } MyStruct;

tagMyStruct是标识符,MyStruct是变量类型(相当于(int,char等))。

这语句实际上完成两个操作:

1) 定义一个新的结构类型

struct,    struct tagMyStruct
    {   
     int iNum; 
     long lLength; 
    };

分析:tagMyStruct称为“tag”,即“标签”,实际上是一个临时名字,不论是否有typedef struct 关键字和tagMyStruct一起,构成了这个结构类型,这个结构都存在

  我们可以用

                         struct tagMyStruct varName

来定义变量,但要注意,使用

c语言typedef struct用法。                          tagMyStruct  varName

来定义变量是不对的,因为struct 和tagMyStruct合在一起才能表示一个结构类型

  2) typedef为这个新的结构起了一个名字,叫MyStruct。

    typedef struct tagMyStruct MyStruct;

  因此,MyStruct实际上相当于struct tagMyStruct,我们可以使用MyStruct varName来定义变量。

typedef struct后面。转载自:https://www.cnblogs.com/qyaizs/articles/2039101.html


print、printf、scanf

1、print只是输出,没有格式控制,而printf可以根据需要,输出你需要的格式!

2、printf是格式化输出函数,它可以直接打印十进制,八进制,十六进制,输出控制符分别为%d, %o, %x

printf("aaaa%d%s",5,"bbbb");      %d表示插入数字,%s表示插入字符串,函数的后两个参数表示插入的实际内容

c typedef struct?屏幕输出为: aaaa5bbbb

3、scanf()是格式输入函数,在使用scanf和printf函数时要加上#include <stdio.h>。
scanf是C语言的格式输入,函数作用:按照变量在内存的地址将变量值存进去。
一般格式:scanf(格式控制,地址表列)
scanf(“%d%d%d”,&a,&b,&c);
printf(“"a=%d;b=%d;"c=%d\n”,a,b,c);
运行情况:3 4 5 (回车)       

屏幕输出:a=3,b=4,c=5
%d是格式说明,输入的为十进制整数,表示从键盘向&a,&b,&c这个地址输入整数,换句话就是说把变量所代表的空间里存储了输入的整数,所以前面的取地址符&不能漏写。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/40855.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息