zoukankan      html  css  js  c++  java
  • 指针和数组--小总结

    一、总体来说,

    1、对任意数组和指针:数组名可认为是指向数组中第一个元素的指针。虽然是地址,但不同于指针,数组名不是变量,而是常量地址,所以不能修改数组名!!!比如:

    int array0[5] = {0};

    int array1[5] = {0};

    array0 = array1; //试图对数组名array0赋值,这是绝对错误的!

    2、还有对数组名决不能进行++或--操作!!!(自己老是犯这样的低级错误!必改正之!)

    比如:

    int array0[5] = {0};

    int a_temp = *(array0++); //绝对错误!

    3、无论什么类型,在输出结果时,必定会有相应的存储空间存储该结果;所以,必须为结果开辟存储空间:或者预先开辟适当的空间或者动态分配空间;

        这里要注意:决不能通过指针++或--的方式,找到下一个未开辟或未定义区域做下一个存储空间,否则程序极可能崩溃!(血的教训!!!)

    二、针对字符串:

    1、例如:“We are friends!”,这样的字符串将存储于静态存储区,char* str = “We are friends!”;将首地址赋予str,此时,str既不能修改,也不能利用str修改字符串内容,比如str[0] = 'r';是错误的!!

    2、char str[] = “We are friends!”; 则先将字符串copy到动态存储区,再将复制字符串的地址赋予str,因此可以通过str修改复制字符串。

    清醒时做事,糊涂时读书,大怒时睡觉,独处时思考; 做一个幸福的人,读书,旅行,努力工作,关心身体和心情,成为最好的自己 -- 共勉
  • 相关阅读:
    Java读写配置文件prop.properties
    java中int转String 固定位数 不足补零
    plantix插件工具,eclipse工具
    MongoDB API java的使用
    CSS定位细节
    Mysql 基于BinaryLog的复制
    Mysql之复制服务
    Linux 中文乱码问题解决
    Maven中手动引用第三方jar包
    innodb之超时参数配置
  • 原文地址:https://www.cnblogs.com/hello-yz/p/3214134.html
Copyright © 2011-2022 走看看