资讯·论坛·笑话大全·QQ表情·设为首页
发新话题
打印

[C++] 个人学习c++时遇到的错误

个人学习c++时遇到的错误

第一,在使用字符和字符串时的应该注意:char a='m',char a[2]="m"的不同;a[2]中的第二个字符时''\0'',以此结束。字符串用数组来存放。
/ W8 d+ v# @1 }$ q3 X" h1 @' g打造最好的电脑自学交流论坛第二,指针的使用:1:例如,void *p;
7 r& F# _2 U) W: ~- T) k我爱电脑技术论坛                                                      int a;
7 a9 u% d2 e+ f, f打造最好的电脑自学交流论坛                                                      p=&a;打造最好的电脑自学交流论坛) Q! d& T! d/ G' C" r
                                                      *p=33;//错误我爱电脑技术社区--打造最好的电脑技术自学交流平台8 \: k, F5 E* r7 [7 s" o% E
                                             *(int *)p=33;//应该改成这样,因为p是空类型指针     我爱电脑技术社区--打造最好的电脑技术自学交流平台+ S/ H7 n- @. z: f# j3 i1 k
还有像char a='m';我爱电脑技术社区--打造最好的电脑技术自学交流平台. z# O$ F5 B7 f$ @* C
            char*p=&a;8 W: ]& J, V, e
             cout<<*p;//正确
' I& R. `. o0 _' \9 s& {7 Q3 j              cout<<p;//错误
. I. W. s4 D8 f. S/ D% c2 _* g' Y打造最好的电脑自学交流论坛                                   2: char*geta(char*a)
& A# m3 O% L+ K( k3 d                                            {
3 d" s9 {  p: x( N0 S( q电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站                                                 char str[20];我爱电脑技术社区--打造最好的电脑技术自学交流平台( Y# x/ G/ f* C. |
                                                 str=a;//所赋的值是地址我爱电脑技术社区--打造最好的电脑技术自学交流平台8 p8 q# k1 b" T) @# W
                                                strcpy(str,a);//str是数组,只能用拷贝函数
) V/ A5 w  T% C$ S. L; x. W电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站                                   3:数组的使用,和指针配合使用时,要防止出现错误的结果。
, f$ \1 @$ H9 V* T8 E电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站          例如,    #include<iostream.h>
' b1 {7 h- p  x9 n& v+ V$ _7 }( w电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站void main()
8 M( Y5 h! k8 ]  i我爱电脑技术论坛{
1 M" b8 h! e" c% h( d我爱电脑技术论坛        int *p=new int[4];电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站0 x* y7 q  z% z" x% v/ h# L
        int *a=p;//保存p的首地址
% W8 P# L9 P3 z* T7 ?5 s. L我爱电脑技术社区--打造最好的电脑技术自学交流平台        for(int i=0;i<4;i++,p++)
# U% G& {) z, [3 t& L7 Z; _6 ]www.520diannao.com        {
, t: ^6 a: m, e% S7 c                *p=i;//用p不行打造最好的电脑自学交流论坛, B. w  ?  z  O% P# P
                cout<<*p;
% D& X- {2 d6 M/ X/ o* c) [- Bwww.520diannao.com        }
( Q/ K4 X: _% f! B" C我爱电脑技术社区--打造最好的电脑技术自学交流平台        delete [] a;//释放地址时,应该是从首地址开始释放,如果程序上面没保存首地址的话,则输出的结果会出错我爱电脑技术论坛; x. T/ v+ E8 D' }) J" \
}
' }  Q: E5 @& G- e' P  \$ q电脑,技术,IT,学习,交流,网络安全,QQ,硬件,软件,编程,教程,建站输出  0123
. y* [# X: n% ^& }我爱电脑技术论坛第三,new和delete一定要配套、一起使用,否则会出错哦。这是一个隐式的错误。另外在使用new时应注意开辟空间,并把该值赋给其他变量时,应保证该变量没获得地址。
# [6 [( N8 {/ K+ N  Cwww.520diannao.com  这些只是本人学习的c++时候遇到的一些经常性的问题,希望对大家有点帮助吧!

TOP

发新话题