这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » lf2407 请问一个lf2407定义指针的问题,谢谢

共2条 1/1 1 跳转至

lf2407 请问一个lf2407定义指针的问题,谢谢

院士
2006-09-17 18:14:16     打赏
lf2407 请问一个lf2407定义指针的问题,谢谢



关键词: lf2407     请问     一个     定义     指针     问题     谢谢    

院士
2006-12-22 22:43:00     打赏
2楼
问 用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: 个人见解可能是地址分配还没完,过几个周期,分配完了,再将指针指向初始地址就可以了。你可以试试,看到什么时候就不出现错误了,就是地址分配命令执行完了

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]