20)浅谈C语言之结构体与strcpy()

Posted 流浪孤儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20)浅谈C语言之结构体与strcpy()相关的知识,希望对你有一定的参考价值。

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

#include<string.h>

//结构体

/*---复杂对象

名字-作者-出版社-定价-书号*/

//复杂对象-结构体-我们自己创造出来的一种类型

//使用结构体首先创建结构体类型

struct Book//struct Book就是一个类型名相当于int,只不过int是系统的内置类型

//内置类型不需要我们定义就可以使用,结构体类型需要我们自己定义

{

    char name[20];//C语言程序设计

    short price;//定价55

};

int main()

{

    //利用结构体类型-创建一个该类型的结构体变量,就和用int内置类型创建int类型的变量一样

    struct Book b1 = { "C语言程序设计",55 };

    struct Book *pb = &b1;

    //利用结构体指针变量来引用结构体变量成员

    printf("书名是:%s\\n定价是:%d\\n", (*pb).name,(*pb).price);//结构体成员运算符优先级高于解引用操作符

    printf("书名是:%s\\n定价是:%d\\n", pb->name, pb->price);//->更加方便的引用符号,引用b1的成员,pb指向b1

    //结构体变量.成员

    //结构体指针->成员

    printf("书名是:%s\\n定价是:%d\\n", b1.name, b1.price);

    //修改结构体变量的成员

    b1.price = 45;

    //b1.name="C++";会报错,因为price是变量可以直接改,而name是数组名,是一个地址,地址是常量

    strcpy(b1.name, "C++");//strcpy-string copy-字符串拷贝-库函数-string.h

    printf("更改后的书名:%s\\n", b1.name);

    printf("降价后的价格:%d\\n", b1.price);

    return 0;

}

21)C语言之悬空else

以上是关于20)浅谈C语言之结构体与strcpy()的主要内容,如果未能解决你的问题,请参考以下文章

C++结构体中定义函数(C++结构体与C语言结构体区别)(C++结构体与C++类的区别)(结构体函数)

C++结构体中定义函数(C++结构体struct与C语言结构体区别)(C++结构体与C++类的区别)(结构体函数)

go语言之多继承 匿名结构体与匿名结构体指针

C语言-结构体与位域

结构体与指针的应用

abap语法中结构体与内表有啥区别?