当前位置: 技术问答>linux和unix
(最好看看,也许你也不知道)有关指针变量定义时赋初值的疑问
来源: 互联网 发布时间:2016-07-26
本文导语: struct page * page = bprm.page[i]; 在bprm结构体中有这样的定义:unsigned long page[32]; 我的疑问是 bprm.page[i]的值是unsigned long型,怎么能在* page定义的时候赋值呢! c语言书上说在定义指针变量的时候可以进行赋初值,格...
struct page * page = bprm.page[i];
在bprm结构体中有这样的定义:unsigned long page[32];
我的疑问是 bprm.page[i]的值是unsigned long型,怎么能在* page定义的时候赋值呢!
c语言书上说在定义指针变量的时候可以进行赋初值,格式如下:
int *p = &a[0];
如果这样的话 struct page * page = bprm.page[i];不就错了,哪位高手知道指点下,谢谢
在bprm结构体中有这样的定义:unsigned long page[32];
我的疑问是 bprm.page[i]的值是unsigned long型,怎么能在* page定义的时候赋值呢!
c语言书上说在定义指针变量的时候可以进行赋初值,格式如下:
int *p = &a[0];
如果这样的话 struct page * page = bprm.page[i];不就错了,哪位高手知道指点下,谢谢
|
指针也是整型值,将整型值赋值为整型没有问题。
编译器会报Warning,最好强制转换一下struct page * page = (struct page *)bprm.page[i];
编译器会报Warning,最好强制转换一下struct page * page = (struct page *)bprm.page[i];
|
无符号长整型可以表示任何类型的指针地址。如果定义为指针数组,不同类型的指针之间赋值还是需要强转
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。