关于指针所指数值输出的问题

xiaoxiao2021-02-27  151

分两种情况:

  第一种就是当该指针声明为int 型指针时, #include<stdio.h> #include<iostream> using namespace std; int  main() {     int *p;     int n;     scanf("%d",&n);     p=&n;     cout<<"p="<<*p<<endl;   //<------------ }

这时候p为所指变量的地址,*p为该地址中的数值;

   第二种情况:

    当该指针被声明为char型指针的时候,    //浅拷贝

#include<iostream> #include<string.h> using namespace std; class STRING { public:     STRING(char *s)     {         cout<<"constructor  called"<<endl;         ptr=new char[strlen(s)+1];         strcpy(ptr,s);     }     ~STRING()     {         cout<<"Destructing called---"<<ptr<<endl;   //<——————         delete []ptr;     } private:     char *ptr; }; int main() {     STRING p1("book");     STRING p2("jeep");     p2=p1;     return 0; }

输出的ptr为以ptr为首地址的整个内存中的内容   book

*ptr   为ptr【0】 的内容  b

转载请注明原文地址: https://www.6miu.com/read-15026.html

最新回复(0)