黑马程序员技术交流社区
标题:
结构体指针
[打印本页]
作者:
曹雨
时间:
2014-7-25 09:19
标题:
结构体指针
struct Person{int age};
struct Person person = {3};
struct Person *personP = &person;
为什么不
struct Person *personP = {3};?
如果这句可以的话 ,代表一个指向无名结构体{3}的指针*personP 对吗?
作者:
huangqiwa
时间:
2014-7-25 10:25
如果这句可以的话 ,代表一个指向无名结构体{3}的指针*personP 对吗?
楼主,这句话是错误的
不能够直接对结构体指针这样初始化
struct Person person = {3}; 这样是对的,这是对结构体进行初始化
如果是结构体指针,就不能这样用了,必须先分配内存给这个指针,然后再对其内容进行赋值!
作者:
阳光地带
时间:
2014-7-25 10:59
当然不对了,&person是地址,{3}是什么。
作者:
YKS
时间:
2014-7-25 17:53
你流程走完了没有,貌似我2期去不了了
作者:
istream
时间:
2014-7-26 00:09
不对,这个初始化和直接给指针赋值是不一样的
作者:
刘芳芳
时间:
2014-7-26 00:37
关于指针 *的作用:
*作用:1、当用在变量定义的时候,他是一个类型说明符,说明定义的这个变量是一个指针变量
2、在不是变量定义的时候,它是一个操作符,访问指针变量所指向的存储空间
&作用:&它一个操作符,取出变量的地址
当用作操作符的时候 * 与 &是一对反操作
结构体指针:定义一个结构体类型的指针,1. struct Person{int age};首先定义一个Person 的结构体类型。2.struct Person person = {3};是一个定义结构体变量的一个过程 3.struct Person *personP = &person;定义一个结构体类型的指针,首先指针类型只能给它赋值一个地址,而{3}不是地址,所以不可以。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2