zoukankan      html  css  js  c++  java
  • 【Objective-C学习记录】第八天

    今天跟着做了一个通讯录系统,熟悉了一下OOP。还看到一些写程序经常遇到的问题,可能比较低级,但还是记录一下- -主要是不知道写什么。

    首先是字符数组的大小问题,经常用到的一个运算符sizeof(),这个运算符计算的是数组元素个数乘以元素类型占用字节,比如int a[5],计算的结果是4*5,因为int占用4个字节,再比如,double b[2],计算结果是8*2,double占用8个字节。

    与数组有关的还有另一个函数:strlen(),strlen主要对字符类型的数组进行操作,计算的是字符数组的长度,即元素个数。

    这里还要说到的是,字符数组以''结尾,所以会出现这种情况:

    输出结果是:

    为什么会这样呢?原因正是前面说到的,字符数组以''结尾,而strlen的工作原理是从字符数组的首地址读取,一直读到''结束。所以上述语句会从第一个读取,读到了第9个才遇到'',于是输出9。

    以上,在初始化字符数组最好做以下操作:

    结果是:

    即给字符数组分配比字符个数大1的空间,并且给最后的元素赋值''

    还有一个概念:int array[5] = {0};问array的类型是什么,第一反应是int *,不过后来好像看到有人说是int[5],不明嚼栗- -

    最后还有一个面试经常考到关于宏定义的:#define MUL(A,B) A*B;问MUL(1+1,2+2)为多少。

    其实这里主要考察对宏定义的原理是否熟悉,宏定义是一种预编译的操作,所以不会做任何计算,宏定义所做的就是直接替换,即上式变成了:1+1*2+2。

  • 相关阅读:
    cookie,请求报文,
    ser,ver
    关于 通知的 死循环,
    这读取的好蛋疼,为什么一写 一读就有问题了,不一致了,
    缓存小姐 挡拆,网络请求 不同步 惹的祸,
    viewdidload ,viewwillappear,
    提示输入 用户名 ,密码,--》转
    前端面试
    npm与cnpm
    vue与node和npm关系
  • 原文地址:https://www.cnblogs.com/shvier/p/5034376.html
Copyright © 2011-2022 走看看