吴敌小白 发表于 2020-4-14 17:53:32

结构体指针

(1)structstudent
{
        long num;               
       float   score ;                        
       structstudent *next;
};


(2) structstudent
{
        long num;               
       float   score ;
      
};
structstudent *next;



(1),(2)中的next的用法一样吗?两种不同的表达能通用吗?

zltzlt 发表于 2020-4-14 17:54:28

不一样,因为一个放在了结构体里面,一个放到了外面

倒戈卸甲 发表于 2020-4-14 18:25:04

(1)中的结构体内能存放三个数据,长整形、浮点型和指针,这个指针能存放一个同类型的结构体变量。有什么效果呢,你初始化一个变量,这个变量的类型是自定义结构体,变量内部共能存放三个数据,一个float,一个long,一个指针能指向同类型变量。
(2)的结构体里面两个变量,很好理解。你如果创建一个该类型的变量,变量内部显然没有这个指针,只有一个float,一个long共两个变量。当然上面最后的语句是创建出一个该类型的指针,指针当然只能存放一个数据,那就是地址,一个结构体变量的地址。
你看,一个三数据打包一块,另一个就放个地址,明显不同。
虽然我这基本都是几句话绕来绕去,没太多干货,但你多读两遍应该刚好能悟出点东西

吴敌小白 发表于 2020-4-14 19:27:12

zltzlt 发表于 2020-4-14 17:54
不一样,因为一个放在了结构体里面,一个放到了外面

谢谢

吴敌小白 发表于 2020-4-14 19:27:54

倒戈卸甲 发表于 2020-4-14 18:25
(1)中的结构体内能存放三个数据,长整形、浮点型和指针,这个指针能存放一个同类型的结构体变量。有什么效 ...

谢谢!
页: [1]
查看完整版本: 结构体指针