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修改复制字符串。

    清醒时做事,糊涂时读书,大怒时睡觉,独处时思考; 做一个幸福的人,读书,旅行,努力工作,关心身体和心情,成为最好的自己 -- 共勉
  • 相关阅读:
    python自动生成小学四则运算题目
    软件工程第一章心得体会
    Python微信机器人
    利用python进行微信好友分析
    python操作数据库读书笔记
    初学爬虫之访问goole网页与爬取中国大学排名。
    python之预测体育竞技分析
    5、用python写一个自己的网页
    用turtle实现动态汉诺塔
    面向对象与正则表达式的学习(自动更正,和代数运算)
  • 原文地址:https://www.cnblogs.com/hello-yz/p/3214134.html
Copyright © 2011-2022 走看看