int*ptr int(*ptr)有没有区别 另外(int*)ptr怎么理解
请教各位大侠,int*ptr int(*ptr)有没有区别?另外(int*)ptr怎么理解?pcflash=(char *)0xfc00;
piflash=(int *)0xfc00;这样写是什么意思? int(*ptr)不合语法编译时应该不能通过。int*ptr是定义了一个整型指针ptr。(int*)ptr是把prt强制转换成整型指针。 回复【楼主位】hkkoon
-----------------------------------------------------------------------
int *ptr是顶一个int型的指针;
(int*)ptr是将ptr强制类型转换为int型指针
pcflash=(char *)0xfc00;这句话的意思呢就是,将0xFC00转换成char型指针。而将一个常数转换指针的目的是什么呢?就是对地址进行操作。
注:int(*ptr)这个写法不太明白什么意思,等高人解答吧。 回复【2楼】fanwei0731
-----------------------------------------------------------------------
而将一个常数转换指针的目的是什么呢?就是对地址进行操作。我明白了,非常感谢啊 回复【1楼】hemjidn
-----------------------------------------------------------------------
int(*ptr); 这不是int(*ptr)吗? 汗……
int a[]://=>int *a:
a;//=>*a+m;
int(*ptr);//这是定义一个什么数组?你要定位一个无名字的数组吗?int(*ptr)又是什么?
又给吃了加号注意全角符号 int(*ptr); 这是定义在一个一维数组,元素个数为m。而定义了一个数组,需要分配空间给这个数组,pstr中存放的便是这个地址。也就是LS说的定义无名字的数组。刚好在书上看到了这个用法。*ptsr就是指定义的数组中存放的第一个数,*(pstr+1)便是存放的第二个数,以此类推。
页:
[1]