作业帮 > 综合 > 作业

指针与结构问题!scanf("%s",st2->firstname); scanf括号里面,后面不是要是要取址么~这里为

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/20 23:42:04
指针与结构问题!
scanf("%s",st2->firstname); scanf括号里面,后面不是要是要取址么~这里为什么不是地址?小弟新手
指针与结构问题!scanf(firstname); scanf括号里面,后面不是要是要取址么~这里为" />
scanf括号里面,后面要取地址.
取地址有三种形式.第一:&,第二:指针形式的*p.第三种形式:数组形式&a[i].第四种:->指向结构体运算符,若是指针就用->,若是结构名就用.就是了.这个是成员操作符,控制具体的成员..
指针就是地址.
再问: st2->firstname 这个不就代表读出结构st2中的firstanme么?
再答: 指它的位置,也就是地址。
再问: 为什么在一个地方是 1). 一个结构 struct names handle {.......} printf("Dear %s, \n\n",handle,first); 2). 一个结构是struct student st1 {.....} scanf("%d",st1.name); 前一个是输出,后一个是地址 我有点混
再答: Printf是输出函数,在输出函数里面不是地址,而是整形,字符型或者浮点型变量。 scanf是输入函数,他后面必须是地址变量。 你最好看一下c语言书。
再问: 这些我都知道呀~我的意思就是明明是两个同样的表达式,为什么一个表示地址,一个表示整形
再答: 这就是c语言的规定啊。。你这么问,我也不知道啊