新手求解答

C++语言 码拜 10年前 (2015-05-11) 1355次浏览 0个评论
 

新手求解答
为什么这一个可以运行,

新手求解答
这个却不能运行呢?   
这两个指针不都指向的是字符串”abc”的首地址吗,我知道第一个这么做是刷新了字符串首地址存放的元素,但是第二个为什么就不能跟第一个一样刷新首地址存放元素了?    新人第一次提问题,谢谢大家帮我解答!

10分
因为char s[]=”abc”和char* s=”abc”有区别
1、前者是字符串数组,后者是字符串常量
2、前者保存在栈内存中,后者保存在内存的常量区,后者内存不许更改。
还有个问题想请教一下,书上有个函数
void splitfloat(float x,int *intpart,float *fracpart)
{     *intpart = int(x);
      *fracpart=x-*intpart;
}
这里只给x分配了内存吧,但是*intpart =int(x)这里是不是没有给int(x)分配内存?那么这里的指针指向的是什么内容呢?
10分
引用 2 楼 qq_27995175 的回复:

还有个问题想请教一下,书上有个函数
void splitfloat(float x,int *intpart,float *fracpart)
{     *intpart = int(x);
      *fracpart=x-*intpart;
}
这里只给x分配了内存吧,但是*intpart =int(x)这里是不是没有给int(x)分配内存?那么这里的指针指向的是什么内容呢?

int(x);   是强制转换,
形参是指针,往往是为了改变实参的值。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明新手求解答
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!