int *指针变量声明定义
int*p=NULL;//空指针或inta=5;int*p=a;//定义指针变量a的指针1、这里int*p表示声明一个指向int的指针变量p,并且其指向的内容是NULL或...
int *p=NULL;//空指针
或int a=5;
int *p=a;//定义指针变量a的指针
1、这里int *p表示声明一个指向int的指针变量p,并且其指向的内容是NULL或5(即a的值),是这样么?就是说指向int的指针变量p里可以放空指针或是一个整型值?
2、但int *声明的指针变量里面放的不应该是一个指针么?那应该是int *p = &5;?
谢谢指点!
改为:
int a;
int *p;
p = &a;
*p = 5;
就可以了? 展开
或int a=5;
int *p=a;//定义指针变量a的指针
1、这里int *p表示声明一个指向int的指针变量p,并且其指向的内容是NULL或5(即a的值),是这样么?就是说指向int的指针变量p里可以放空指针或是一个整型值?
2、但int *声明的指针变量里面放的不应该是一个指针么?那应该是int *p = &5;?
谢谢指点!
改为:
int a;
int *p;
p = &a;
*p = 5;
就可以了? 展开
5个回答
推荐于2016-11-17
展开全部
1、定义指针变量的一般形式如下:
类型名*指针变量名1,*指针变量名2,... *指针变量名n ;
2、 空指针
空指针是一个特殊的指针,它的值是0,C语言中用符号常量NULL(在stdio.h中定义)表示这个空值,并保证这个值不会是任何变量的地址。空指针对任何指针类型赋值都是合法的。一个指针变量具有空指针值表示当前它没有指向任何有意义的东西。
3、 void指针
(void *)类型的指针叫通用指针,可以指向任何的变量,C语言允许直接把任何变量的地址作为指针赋给通用指针。但是有一点需要注意void*不能指向由const修饰的变量,eg const int test; void * ptv; ptv = &test;第三句是非法的,只有将ptv申明为const void * ptv;上述第三句(ptv = &test),才是合法的。
类型名*指针变量名1,*指针变量名2,... *指针变量名n ;
2、 空指针
空指针是一个特殊的指针,它的值是0,C语言中用符号常量NULL(在stdio.h中定义)表示这个空值,并保证这个值不会是任何变量的地址。空指针对任何指针类型赋值都是合法的。一个指针变量具有空指针值表示当前它没有指向任何有意义的东西。
3、 void指针
(void *)类型的指针叫通用指针,可以指向任何的变量,C语言允许直接把任何变量的地址作为指针赋给通用指针。但是有一点需要注意void*不能指向由const修饰的变量,eg const int test; void * ptv; ptv = &test;第三句是非法的,只有将ptv申明为const void * ptv;上述第三句(ptv = &test),才是合法的。
展开全部
1.可以这么说。int *p;你不赋址也可以。不是“放”,而是“指向一个地址”。
2int *p=&5;//是错误的。&符号是取“空间地址”的意思。
p=&a;//这样可以,表示取a的空间地址赋给指针p。
//字符“5”本身是值,没有空间没有地址。
int a=5;//表示申请一段空间,空间中存上“5”这个值!!
2int *p=&5;//是错误的。&符号是取“空间地址”的意思。
p=&a;//这样可以,表示取a的空间地址赋给指针p。
//字符“5”本身是值,没有空间没有地址。
int a=5;//表示申请一段空间,空间中存上“5”这个值!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int *p=a;//定义指针变量a的指针
这句是错的,p是指针,只能指向地址,可以这样int *p=&a;//定义指针变量p指向a的地址
int *p = &5;不能这么写,不能对常数取地址
这句是错的,p是指针,只能指向地址,可以这样int *p=&a;//定义指针变量p指向a的地址
int *p = &5;不能这么写,不能对常数取地址
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一句话错,
原因是:int的指针变量p里可以放空指针或是一个整型值,int
型的指针就只能存放int,这里的NULL意思是申明p指向空,不是存放空指针。
第二局也不对
int *声明的指针变量里面放的不应该是一个指针么?
里面存放的是一个地址,他指向一个int
所以应该p=&a;
你的这种p=&5的写法是不对的,只能记录下变量的地址,
原因是:int的指针变量p里可以放空指针或是一个整型值,int
型的指针就只能存放int,这里的NULL意思是申明p指向空,不是存放空指针。
第二局也不对
int *声明的指针变量里面放的不应该是一个指针么?
里面存放的是一个地址,他指向一个int
所以应该p=&a;
你的这种p=&5的写法是不对的,只能记录下变量的地址,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p中存地址 *p指 p地址指向的内容 a 直接就是值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询