• 使用调试器逐步跟踪程序


    我认识不少技术不错的 C++/C 程序员,很少有人能拍拍胸脯说通晓指针与内存管理 (包括我自己)。我最初学习 C 语言时特别怕指针,导致我开发第一个应用软件(约 1 万行 C 代码)时没有使用一个指针,全用数组来顶替指针,实在蠢笨得过分。躲避指针 不是办法,后来我改写了这个软件,代码量缩小到原先的一半。 我的经验教训是:

    (1)越是怕指针,就越要使用指针。不会正确使用指针,肯定算不上是合格的程序员。

    (2)必须养成“使用调试器逐步跟踪程序”的习惯,只有这样才能发现问题的本质。

     1 #include <iostream>
     2 
     3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
     4 using namespace std;
     5 int main(int argc, char** argv) {
     6     //声明字符型数组和指针变量
     7     char str[10];
     8     char *strip=str;
     9 
    10     //输入输出
    11     cout<<"str=";
    12     cin>>str;      //用字符数组输入字符串
    13     cout<<"str="<<str<<endl;
    14     cout<<"strip="<<strip<<endl;
    15     cout<<"strip=";
    16     cin>>strip;     //用字符指针变量输入字符串
    17     cout<<"str="<<str<<endl;
    18     cout<<"strip="<<strip<<endl;
    19 
    20     //利用指针变量改变其指向字符串的内容
    21     *(strip+2)='l';
    22     cout<<"str="<<str<<endl;
    23     cout<<"strip="<<strip<<endl;
    24 
    25     //动态为字符型指针变量分配内存
    26     strip=new char(100);
    27     cout<<"strip=";
    28     cin>>strip; //用字符指针变量输入字符串
    29     cout<<"str="<<str<<endl;
    30     cout<<"strip="<<strip<<endl;
    31     return 0;
    32 }
  • 相关阅读:
    TCP的三次握手和四次挥手理解及面试题
    linux网卡配置文件参数
    linux的常用指令和配置文件
    django中的modelform和modelfoemset
    django中的form表单验证
    php快速开发的学习经历
    一个微信支付商场的经历
    https的学习过程
    使用java访问elasticsearch创建索引
    写博客是为什么
  • 原文地址:https://www.cnblogs.com/borter/p/9406484.html
Copyright © 2020-2023  润新知