C语言中,*p=9和int * p=9有什么区别,两者分别是什么意思 5
5个回答
展开全部
int* p=9从语法上来说是错误的,这是一个声明变量的语句,生命的变量为指针变量,指针变量的内容为地址,其他的变量的地址
9不是地址
*p=9;p已经被声明后,*号值的是地址的值
比如p内存有一个地址,这个地址的内容为123
那么*p就是123,或者用*p=9来改变这个123,变成9
你可以这样理解 int* 才是一种变量类型,是指针变量的类型,*和p之间用空格隔开
p是指针变量的内容,存着地址
*p是这个地址存储的内容
9不是地址
*p=9;p已经被声明后,*号值的是地址的值
比如p内存有一个地址,这个地址的内容为123
那么*p就是123,或者用*p=9来改变这个123,变成9
你可以这样理解 int* 才是一种变量类型,是指针变量的类型,*和p之间用空格隔开
p是指针变量的内容,存着地址
*p是这个地址存储的内容
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
*p=9;——如果p是已经声明确定了指向的有效指针,则它的意义是将常数9赋给p指向的目标,否则是错误表达式。
int * p=9;——这是错误表达式,编译都不会过的。因为指针不能用非0常数初始化。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这就是脑筋急转弯题目
*p(int
*p)
一个返回指针的函数p,形参是一个int型指针
(*p)(int
*p)
一个指向函数的指针p,所指向的函数的形参为int型指针
*p(int
*p)
一个返回指针的函数p,形参是一个int型指针
(*p)(int
*p)
一个指向函数的指针p,所指向的函数的形参为int型指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int *p=9;
转化一下就是
int *p;
p=9;
//这个9就是地址变量了
而*p = 9;的9就是一个普通变量的值
转化一下就是
int *p;
p=9;
//这个9就是地址变量了
而*p = 9;的9就是一个普通变量的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询