c++文件copy问题
各位高手快来瞧瞧!对于cin,除了数据本身,你还要负责流的清理 指针使用时,要初始化,就是要给指针赋值,指向一块地址
如果是数组,s1表示的是一个地址常量 指针没有指向有效的内存空间。 第一个是数组,数组定义的时候就已经分配了一块内存空间,是在栈内。
第二个是指针,没有初始化就是随机指向的一个地址,这个地址往往是不可写的,需要申请堆空间,malloc或new 闪电猫网络 发表于 2017-12-5 18:38
第一个是数组,数组定义的时候就已经分配了一块内存空间,是在栈内。
第二个是指针,没有初始化就是随机指 ...
可是如果我是用char * s= "";为什么也不行啊 qq1242009750 发表于 2017-12-5 16:55
指针没有指向有效的内存空间。
可是如果我是用char * s= "";也是不行的
lyjlyj 发表于 2017-12-5 11:32
指针使用时,要初始化,就是要给指针赋值,指向一块地址
如果是数组,s1表示的是一个地址常量
如果我是用char * s= "";算初始化吗? BngThea 发表于 2017-12-4 22:26
对于cin,除了数据本身,你还要负责流的清理
什么意思呀,没懂 看不懂 发表于 2017-12-5 20:00
如果我是用char * s= "";算初始化吗?
你赋值为空,不算初始化
就算赋值char *s=“aaa”;由于aaa存在文本空间中,是不能改变的
所以s='b';执行会出错,访问了非法空间
指针变量常见用法:就是将一个已经声明的变量的地址赋值给指针变量
int a;
int *p;
intb={0};
p=&a;
p=a; lyjlyj 发表于 2017-12-5 20:22
你赋值为空,不算初始化
就算赋值char *s=“aaa”;由于aaa存在文本空间中,是不能改变的
所以s='b'; ...
最后一句是不是错了 看不懂 发表于 2017-12-9 19:12
最后一句是不是错了
不能赋值,执行会出错
页:
[1]