`

结构体指针

阅读更多
定义指向结构体的指针类似于其他指针变量,格式如下:

var struct_pointer *Books

以上定义的指针变量可以存储结构体变量的地址。

查看结构体变量地址,可以将 & 符号放置于结构体变量前

struct_pointer = &Book1;

使用结构体指针访问结构体成员,使用 "." 操作符:

struct_pointer.title;

接下来让我们使用结构体指针重写以上实例,代码如下:

package main

import "fmt"

type Books struct {
   title string
   author string
   subject string
   book_id int
}

func main() {
   var Book1 Books        /* Declare Book1 of type Book */
   var Book2 Books        /* Declare Book2 of type Book */

   /* book 1 描述 */
   Book1.title = "Go 语言"
   Book1.author = "www.runoob.com"
   Book1.subject = "Go 语言教程"
   Book1.book_id = 6495407

   /* book 2 描述 */
   Book2.title = "Python 教程"
   Book2.author = "www.runoob.com"
   Book2.subject = "Python 语言教程"
   Book2.book_id = 6495700

   /* 打印 Book1 信息 */
   printBook(&Book1)

   /* 打印 Book2 信息 */
   printBook(&Book2)
}
func printBook( book *Books ) {
   fmt.Printf( "Book title : %s\n", book.title);
   fmt.Printf( "Book author : %s\n", book.author);
   fmt.Printf( "Book subject : %s\n", book.subject);
   fmt.Printf( "Book book_id : %d\n", book.book_id);
}
以上实例执行运行结果为:

Book title : Go 语言
Book author : www.runoob.com
Book subject : Go 语言教程
Book book_id : 6495407
Book title : Python 教程
Book author : www.runoob.com
Book subject : Python 语言教程
Book book_id : 6495700
分享到:
评论

相关推荐

    关于结构体指针类型的强制转换

    ### 结构体指针类型的强制转换 #### 一、引言 在STM32嵌入式系统的开发过程中,经常需要对硬件寄存器进行直接操作,以实现对GPIO(General Purpose Input/Output,通用输入输出)等外设的精确控制。在C语言编程中...

    C#结构体指针的定义及使用详解

    ### C#结构体指针的定义及使用详解 #### C#结构体指针的基本概念 在C#中,结构体是一种值类型的数据结构,用于封装一组相关的数据。与类不同,结构体不会自动进行垃圾回收,因此对于大量数据的操作效率较高。在...

    解引用结构体指针的值是什么

    解引用结构体指针的值是什么 本文将通过对比指针变量、普通变量、内存和地址,深入探讨解引用结构体指针的值的本质。 结构体指针的定义和解引用 在 C 语言中,结构体指针是一个指向结构体变量的指针变量。例如,...

    C++结构体参数与结构体指针参数区别Demo

    这里主要讨论两种方式:直接传递结构体和通过结构体指针传递,这两种方式在实际编程中都有其应用场景,但它们在效率和内存管理上存在差异。 1. 结构体参数: 当我们将结构体作为函数参数直接传递时,实际上是创建...

    结构体 指针 运算符详细讲解PPT

    "结构体指针运算符详细讲解" 结构体是一种复杂的数据类型,在C语言中广泛应用于描述复杂的数据结构。结构体由多个成员变量组成,每个成员变量可以是基本数据类型或结构体类型。结构体的应用极其广泛,如描述学生...

    08_07_C_04_结构体指针

    08_07_C_04_结构体指针08_07_C_04_结构体指针08_07_C_04_结构体指针08_07_C_04_结构体指针08_07_C_04_结构体指针08_07_C_04_结构体指针08_07_C_04_结构体指针08_07_C_04_结构体指针08_07_C_04_结构体指针08_07_C_04_...

    C语言给结构体指针赋值[借鉴].pdf

    结构体指针在 C 语言中的应用和使用技巧 C 语言中,结构体指针是一种非常常用的数据类型,可以用来指向任何类型的结构体,包括用户自定义的类型。下面是结构体指针的一些重要概念和使用技巧: 1. 结构体指针的定义...

    程序设计-结构体指针.pptx

    结构体指针则是指向结构体变量的指针变量,这种概念在C语言及其衍生的编程语言中尤其常见。下面将详细讨论结构体指针的相关知识点。 1. **结构体指针的定义** 结构体指针的定义格式是:`struct 结构体名 *指针变量...

    结构体指针应用-改写选票系统c++源码.zip

    结构体指针应用-改写选票系统c++源码.zip结构体指针应用-改写选票系统c++源码.zip结构体指针应用-改写选票系统c++源码.zip结构体指针应用-改写选票系统c++源码.zip结构体指针应用-改写选票系统c++源码.zip结构体指针...

    SPT-C语言基础-结构体指针.pdf

    结构体是通过关键字`struct`声明的,而结构体指针则涉及到对这种复合数据类型进行指针操作。 首先,结构体指针允许我们创建一个指针,该指针指向一个结构体类型的变量。指针是一种引用类型,存储了它所指向的变量的...

    408结构体对齐-typedef-结构体指针-c++引用

    ### 结构体对齐、typedef、结构体指针与C++引用详解 #### 一、结构体对齐 **结构体对齐**是指在结构体中的成员变量在内存中的排列方式,这种排列是为了提高CPU访问内存的速度。由于现代处理器的设计倾向于以一定的...

    结构体指针精炼PPT学习教案.pptx

    总之,结构体在C语言中扮演着重要的角色,它为数据的组织提供了极大的灵活性,而结构体指针则进一步增强了这种灵活性,使得我们可以高效地处理复杂的数据结构。理解和熟练掌握结构体及其指针的使用对于编程是至关...

    第10章 结构体和共用体-5结构体指针1

    在本章中,我们关注的是结构体指针,即指向结构体变量的指针,这对于处理复杂的数据结构和高效地操作内存至关重要。 首先,让我们了解如何定义和初始化一个结构体指针。假设我们有一个名为`STUDENT`的结构体,包含...

    JNA 转java接口以及指针结构体解析

    例如,如果你有一个接收结构体指针作为参数的函数,你可以这样做: ```java public interface NativeLibrary extends Library { void processStruct(MyStruct.ByReference structPtr); } ``` 在调用`...

    C语言 结构体和指针详解及简单示例

    指针可以指向结构体变量,定义结构体指针的方式是: ```c struct stu *pstu; ``` 然后可以将结构体变量的地址赋值给指针: ```c pstu = &stu1; ``` 注意,不能直接写`pstu = stu1`,因为`stu1`不是地址,而是...

    结构体指针链表 - CSDN博客1

    本文将探讨如何使用结构体指针创建链表,特别关注简单的链表实现。 首先,我们需要定义一个结构体来表示链表的节点。以学生信息为例,我们可以定义一个`struct student`如下: ```c struct student { int num; //...

    C#调用C++生成的DLL,并返回结构体引用或者结构体指针多个值

    本话题聚焦于C#如何调用C++生成的DLL,并且接收返回的结构体引用或结构体指针,从而获取和处理多个值。下面我们将详细讨论这一过程。 首先,我们需要理解C++和C#之间数据类型的映射。在C++中,结构体可以直接作为...

    C语言用结构体指针作函数参数.doc

    C语言用结构体指针作函数参数

    吕鑫:最博大精深的C语言视频教程 第16天 【第2堂课】结构体指针变量

    1、结构体指针变量的定义以及通过结构体指针变量调用成员变量的方法; 2、讲解和演示结构体对象做形式参数与结构体指针变量做参数的作用与区别;

Global site tag (gtag.js) - Google Analytics