而*(*p)就是*(*p+0),在地址前加了取地址符号*,即表示是第一行的首元素的值,是int型数据,所以可以用*(*p)=1 ;赋值.
----------------解决方案--------------------------------------------------------
int * p[4]; 定义指针数组P,由4个指向整形数据的指针元素组成.
int (* p)[4]; P为指向含4个元素的一维数组的指针变量,他常用在处理二维数组.如:
int a[2][3];
p=a; p为指向二维数组的一行.
----------------解决方案--------------------------------------------------------
int *p[10] 是数组 ---> 数组元素类型是 int *
int (*p)[10] 是指针 ---> 指针指向数组
----------------解决方案--------------------------------------------------------
原帖由 [bold][underline]redice[/underline][/bold] 于 2007-12-8 18:29 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1138518&ptid=191126][/url]
int (* p)[4]; // p 指针 int [4] ,即 p 指针 4 个 int类型
请问怎么使用这个指针?
我尝试*p=1;编译器报错了!
warning C4047: '=' : 'int [4]' differs in levels of indirection from 'const int ' ...
int (* p)[4]; // p 指针 int [4] ,即 p 指针 4 个 int类型
请问怎么使用这个指针?
我尝试*p=1;编译器报错了!
warning C4047: '=' : 'int [4]' differs in levels of indirection from 'const int ' ...
回家了,手边没一本资料,我自己也不知道说的对不对,自己的基本功也很不扎实.西西!
int *p=&1;
或者
int *p;
*p=1;或者p=&1;常量和变量自己注意.
这应该可以吧..
指针数组和,数组指针
一般来说*p[]
用于字符串,他每个元素就是一个指针,所以引用他的时候就是输出p[1]就直接输出了第1行对应的整个字符串.
*p[]={
"sdsd",
"sdsd"
}
(*p)[]和行指针在一起用.也就是他只能被赋予行的地址
比如
a[][3]={"sadfsf","sdfsdf","sdsd"};
p=a;
p=a+1;
个人胡说..不要相信
[[italic] 本帖最后由 dousao 于 2007-12-9 16:14 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
还有我现在的感觉是,学c很大部分人不是用他来开发程序的吧?很多人都是以这个入门然后学c++或者java;如果你最终目的是java(现在最流行的语言.从c++发展,偏网络),可以不在指针这里学怎么样.因为java已经没有了指针了.
如果将来学c++的话,那到要好好看看.
还是个人胡说.不要相信
----------------解决方案--------------------------------------------------------
谢谢大家了
我以前主要使用VB以及ASP技术,由于项目需要不得不恶补C语言 还望多多指教
----------------解决方案--------------------------------------------------------