#include <bits/stdc++.h>
using namespace std;
void f(char *str)
{
char *s = str;
str[] = '' //error str是指向常量的指针,只能读取不能修改,如果str是malloc过则可以修改
s[] = ''; //同上error
cout<<s<<endl;
}
int main()
{
char *s = "We Are Happy.";
f(s);
puts(s);
return ;
}

#include <bits/stdc++.h>
using namespace std;
void f(char *str)
{
char *s = str;
s[] = 'a', s[] = 'b', s[] = 'c', s[] = '\0';
str = s;
}
int main()
{
char s[] = "We Are Happy.";
f(s);
puts(s); //abc
return ;
}

#include <bits/stdc++.h>
using namespace std;
void f(char *str)
{
char *s = (char *)malloc(sizeof(char)*);
s[] = 'a', s[] = 'b', s[] = 'c', s[] = '\0';
str = s; //局部变量不会影响主函数
}
int main()
{
char s[] = "We Are Happy.";
f(s);
puts(s); //We Are Happy.
return ;
}

#include <bits/stdc++.h>
using namespace std;
void f(char *str)
{
char *s = (char *)malloc(sizeof(char)*);
s[] = 'a', s[] = 'b', s[] = 'c', s[] = '\0';
strcpy(str, s); //将s内的元素赋值给str,改变的不是指针是指针指向的值
}
int main()
{
char s[] = "We Are Happy.";
f(s);
puts(s); //abc
return ;
}

c/c++指针常见错误的更多相关文章

  1. Android For JNI(三)——C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值

    Android For JNI(三)--C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值 C中比较难的这一块,大概就是指针了,所以大家还是多翻阅一下资料,当然,如果只是想了解一下,看本篇 ...

  2. C++学习之指针的常见错误

    C++学习之指针的常见错误       我们在编程的过程中,有时候在使用指针的时候,删除一个指针以后一定要将这个指针设置为空指针,这是因为删除这个指针只是删除这个指针指向的地址,这个指针还真是的存在程 ...

  3. 深入理解C语言 - 指针使用的常见错误

    在C语言中,指针的重要性不言而喻,但在很多时候指针又被认为是一把双刃剑.一方面,指针是构建数据结构和操作内存的精确而高效的工具.另一方面,它们又很容易误用,从而产生不可预知的软件bug.下面总结一下指 ...

  4. 【转】C++常见错误大全

    原文转自:http://hi.baidu.com/qiou2719/item/b9eed949130ff50ec0161331 C++常见错误大全 0. XXXX "is not a cla ...

  5. C语言常见错误中英文对照表

    C语言常见错误中英文对照表(网络搜索及经验积累不断更新中) 常见错误中英文对照表 fatal error C1003:  error count exceeds number; stopping co ...

  6. PTA常见错误

    1.最常犯的错误. 格式错误 在PTA程序检测中,输入输出要严格按照题目要求.输出的格式要完全按照题目要求来,该空格地方空格,该换行要换行.否则,就算你运行结果是对的,PTA还是提示你格式错误 比如下 ...

  7. 实用:Git 中的一些常见错误

    无论是数据科学家.算法工程师还是普通开发人员,在每个团队协作开发任务中,Git 都是必不可少的版本控制工具,因此掌握它的基本操作十分有必要.但即便是教程满天飞的今天,开发人员在使用 Git 时也还是会 ...

  8. GO 新开发者要注意的陷阱和常见错误

    转自:http://colobu.com/2015/09/07/gotchas-and-common-mistakes-in-go-golang/ 初级 开大括号不能放在单独的一行 未使用的变量 未使 ...

  9. Go的50度灰:Golang新开发者要注意的陷阱和常见错误(转)

    目录 [−] 初级 开大括号不能放在单独的一行 未使用的变量 未使用的Imports 简式的变量声明仅可以在函数内部使用 使用简式声明重复声明变量 偶然的变量隐藏Accidental Variable ...

随机推荐

  1. python中的下划线(私有变量)

    Python用下划线作为变量前缀和后缀指定特殊变量. - "单下划线" 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量:不能用"from xx ...

  2. 接口传值实例DatePickerDialog

    1.第一步创建class,类名自己取,这里我使用DatePickerFragment1 import android.app.DatePickerDialog; import android.app. ...

  3. 4.windows如何导入python包

    python链接:https://www.python.org/downloads/release/python-2715/ pip链接:https://pypi.org/project/pip/#f ...

  4. spark mllib和ml类里面的区别

    mllib是老的api,里面的模型都是基于RDD的,模型使用的时候api也是有变化的(model这里是naiveBayes), (1:在模型训练的时候是naiveBayes.run(data: RDD ...

  5. Hadoop权限认证的执行流程

    Hadoop分布式文件系统实现了一个和POSIX系统类似的文件和目录的权限模型.每个文件和目录有一个所有者(owner)和一个组(group).文件或目录对其所有者.同组的其他用户以及所有其他用户分别 ...

  6. docker——核心实现技术

    作为一种容器虚拟化技术,Docker深度应用了操作系统的多项底层支持技术. 早期版本的Docker是基于已经成熟的Linux Container(LXC)技术实现的.自从0.9版本起,Docker逐渐 ...

  7. Python:笔记(7)——yield关键字

    Python:笔记(7)——yield关键字 yield与生成器 所谓生成器是一个函数,它可以生成一个值的序列,以便在迭代中使用.函数使用yield关键字可以定义生成器对象. 一个例子 我们调用该函数 ...

  8. in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)

    最近在用ruby的一些库的时候,总是出现这个错误. 在使用net/imap库的时候,或者net/http库(主要是用到了https,https是用了ssl) 的时候,具体如下: 错误提示:E:/Rub ...

  9. 77. Combinations(回溯)

    Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. Example: I ...

  10. Java中使用OpenSSL生成的RSA公私钥进行数据加解密

    当前使用的是Linux系统,已经按装使用OpenSSL软件包, 一.使用OpenSSL来生成私钥和公钥 1.执行命令openssl version -a 验证机器上已经安装openssl 1 open ...