2019-11-27

数组记得初始化


二维数组定义时 列数必须给出 行数可以由编译器数

例如:int a [] [5] = {

                {0,1,2,3,4},

                {2,3,4,5,6},

};


scanf中的&    操作对象必须是变量


地址的大小是否相同取决于编译器


左值之所以叫左值    是因为左边的值不是变量  而是值  是表达式计算的结果


指针的应用:

   1、 函数使交换值                                                                                                                           思考:函数中return的应用   返回值能在main函数中进行判断

    2、当传回值不只一个时    自动填好传回来

    3、函数返回运算的状态(return)    指针返回   传入数组后对数组做操作

    4、const数组    const int a [ ] = {1,2,3,4,5,};    数组变量已经是const了 表示每个数组单元都是const int  不能被改变 只能初始化赋值            数组传入函数时传入地址  所以用const保护数组不被函数破坏

    5、传入较大的数时用作参数

    6、需要用函数修改不只一个变量

    7、动态申请内存


指针常见错误:

    1、定义指针后还没有指向某一个值就开始使用

    2、函数中的数组    其实是指针类型    可以更改值    不能用sizeof函数计算长度    int *a和 int [a]等价    数组变量是特殊的指针     数组变量本身表达地址    取地址不需要用&    数组单元的每一个单个的变量需要用&    p [0] = *p    *可以对指针做 也可以对数组做    int a [] = int * const a    即数组不能改变 不能a = b

    3、


指针和const:

int *const q =    表示一旦得到了某个变量的地址,不能再指向其他变量

所指是const:

const int *p = &i;    i可以赋值    p可以得到别的变量的地址(指向别的变量)    不能通过*p赋值

例:

①int i;

②const int* p1 = &i;

③int const* p2 = &i;

④int *const p3 = &i;

其中,② = ③    (判断const标志是const在*前还是*后)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 打卡内容日期:2019年/11月/27日 90天打卡累计天数:58/90 #宣言(心态平和,少生气,不和瓜瓜,姥姥...
    没办法说只有写呀阅读 85评论 0 1
  • 最近有一个难得的休息,我就把抄好的《地藏经》送庙里去。 又到了外婆临终时住院附近的下海庙,去年的情形一一在目,好像...
    微丹湜意阅读 190评论 0 11
  • 漫步晚秋 第24章 宋朝阳在伍慧清和晓倩的搀扶下回到了刚刚建成的家,他看见了拄着拐杖的史倚云,嘴角开始抽搐。他想说...
    刘老师_9e2c阅读 265评论 0 0
  • 六项精进打卡 姓名:丁志强 公司:深圳市正大信维通讯设备有限公司 时间:2019年11月26日 【日精进打卡第14...
    丁俊友阅读 85评论 0 0
  • 如果天黑之前来得及,我要忘了你的眼睛。 不经意间,许多美好都离我们而去,这之中就夹杂着云中谁寄锦书来...
    右瞳丶恋我一纪阅读 191评论 0 1