C++基本点

int型指针

    int a =  4;
    int *p = &a;
    std::cout << sizeof(float) << std::endl; //sizeof(变量名) = sizeof(变量的类型)
    std::cout << sizeof(a) << std::endl; 
    std::cout << &a << std::endl;    //地址
    std::cout << sizeof(&a) << std::endl;   //地址的占用内存为8
    std::cout << *p << std::endl; //等于a
    std::cout << p << std::endl;// 等于&a
    std::cout << sizeof(p) << std::endl; //等于sizeof(a)
 
  • sizeof(变量名) = sizeof(变量的类型) 

数组与指针

    double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0}; //数组的名称就是一个指针,指向数组第一个元素的地址
    double *p = balance;  
    std::cout << balance <<std::endl;  //数组第一个元素的地址
    std::cout << &balance[0] <<std::endl;  //与上面相同
    std::cout << *balance <<std::endl;  //由于balance指向数组第一个元素的地址,所以取*等于第一个元素的值
    //由于数组的名称就是一个指针,因此对于数组来说来说p的含义就等于balance
    std::cout << p <<std::endl;  //等于balance
    std::cout << &p[0] <<std::endl;  //等于&balance[0]
    std::cout << *p <<std::endl;  //等于*balance

字符串与字符串指针


    char s = 'a';  //char表示单个字符, 后面只能跟''
    char *ss = "1234a";  //ss表示字符串指针,指向一个字符串常量"1234a"
    std::cout << sizeof(s) << std::endl; //输出1
    std::cout << sizeof(char) << std::endl; //与上面相同
    std::cout << sizeof(ss) << std::endl; //输出8
    std::cout << sizeof(char *) << std::endl; //与上面相同 说明char *的内存占用为8

    std::cout << ss << std::endl;  //输出全部字符  这一点与前面指向数组的指针不一样,指向数组的指针名称等于第一个元素的地址,而这里为字符串
    std::cout << *ss << std::endl;  //输出ss的第1个字符,ss是指向字符串的指针 *ss就是第一个字符
    std::cout << *(ss+1) << std::endl;  //输出ss的第2个字符
    std::cout << *(ss+2) << std::endl;  //输出ss的第3个字符
    std::cout << sizeof(*ss) << std::endl; //*ss为第1个字符,起占用内存与单个字符char型相同,为1
    
    std::cout << (void*)(ss) << std::endl; //第1个字符的地址 这个与&ss不一样
    std::cout << (void*)(ss+1) << std::endl; //第2个字符的地址
    std::cout << (void*)(ss+2) << std::endl; //第3个字符的地址
  • 将std::string类型转为char *,用.c_str()

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值