共2条
1/1 1 跳转至页
lf2407 请问一个lf2407定义指针的问题,谢谢
问
用C做的一部分程序里有如下一段:
static int sin[200]={......};
int *sin_pointer;
sin_pointer=&sin[0];
可是在编译的时候
它总是说上面第三句里面的sin_pointer是重复定义什么的
请问,2407里面用C的指针怎么定义的?
谢谢 答 1: 个人见解你看这样行么
*sin_pointer=&sin[0];
答 2: ^_^int *sin_pointer;
指的是定义了一个整形指针
sin_pointer=&sin[0];
指的是将数组第一个元素的地址赋给指针
即,sin_pointer里面的是正弦表首元素的地址
而,*sin_pointer里面的是正弦表首元素的值
所以*sin_pointer=&sin[0];应该是不行的吧
答 3: 你看酷似年行吗。c语言中好像是行得 答 4: 你试一下,不行在说,我觉得c中有这么定义的,直接在定义中赋值 答 5: 你的语句没有错我编译OK。可能变量重复定义了。 答 6: 我的解决办法这个问题我是这样子解决的
static int sin[200]={......};
int *sin_pointer;
sin_pointer=&sin[0];
首先我的sin_pointer是一个全局变量,因为要在一个中断里使用这个指针来查正弦表
用上面的朋友的说的:*sin_pointer=&sin[0];
编译确实可以通过,但是我认为这样子的程序就不能达到原来的目的了
虽然可以int a=1;这样的用法,但是指针如果*sin_pointer=&sin[0];那就混乱了,sin_pointer,*sin_pointer,sin[0],&sin[0]的对应关系不应该搞乱吧?我是用地址递进查表的
我只是把全局变量的赋值和定义分开了
在系统初始化的最后把sin_pointer指向了正弦表
他居然就编译通过了
我实在是郁闷啊!
根本不知道怎么回事,ft 答 7: 个人见解 答 8: 个人见解可能是地址分配还没完,过几个周期,分配完了,再将指针指向初始地址就可以了。你可以试试,看到什么时候就不出现错误了,就是地址分配命令执行完了
static int sin[200]={......};
int *sin_pointer;
sin_pointer=&sin[0];
可是在编译的时候
它总是说上面第三句里面的sin_pointer是重复定义什么的
请问,2407里面用C的指针怎么定义的?
谢谢 答 1: 个人见解你看这样行么
*sin_pointer=&sin[0];
答 2: ^_^int *sin_pointer;
指的是定义了一个整形指针
sin_pointer=&sin[0];
指的是将数组第一个元素的地址赋给指针
即,sin_pointer里面的是正弦表首元素的地址
而,*sin_pointer里面的是正弦表首元素的值
所以*sin_pointer=&sin[0];应该是不行的吧
答 3: 你看酷似年行吗。c语言中好像是行得 答 4: 你试一下,不行在说,我觉得c中有这么定义的,直接在定义中赋值 答 5: 你的语句没有错我编译OK。可能变量重复定义了。 答 6: 我的解决办法这个问题我是这样子解决的
static int sin[200]={......};
int *sin_pointer;
sin_pointer=&sin[0];
首先我的sin_pointer是一个全局变量,因为要在一个中断里使用这个指针来查正弦表
用上面的朋友的说的:*sin_pointer=&sin[0];
编译确实可以通过,但是我认为这样子的程序就不能达到原来的目的了
虽然可以int a=1;这样的用法,但是指针如果*sin_pointer=&sin[0];那就混乱了,sin_pointer,*sin_pointer,sin[0],&sin[0]的对应关系不应该搞乱吧?我是用地址递进查表的
我只是把全局变量的赋值和定义分开了
在系统初始化的最后把sin_pointer指向了正弦表
他居然就编译通过了
我实在是郁闷啊!
根本不知道怎么回事,ft 答 7: 个人见解 答 8: 个人见解可能是地址分配还没完,过几个周期,分配完了,再将指针指向初始地址就可以了。你可以试试,看到什么时候就不出现错误了,就是地址分配命令执行完了
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |