String与Array

关于String的思考

  • 1个String变量占用多少内存?
  • 下面2个String变量,底层存储有什么不同?
var str1 = "0123456789"
var str2 = "0123456789ABCDEF"
  • 如果对String进行拼接操作,String变量的存储会发生什么变化?
str1.append("ABCDE")
str1.append("F")

str2.append("G")
  • ASCII码表
    name | 价格 | 数量
    内存地址从低到高 ⏬
    代码区
    常量区(数据段)
    堆空间
    栈空间
    动态库

从编码到启动App

dyld_stub_binder

  • 符号的延迟绑定通过dyld_stub_binder完成
  • jmpq *0xb31(%rip)格式的汇编指令

占用6个字节

关于Array的思考

  public struct Array
  var arr = [1, 2, 3, 4]
  • 1个Array变量占用多少内存?
  • 数组中的数据存放在哪里?


你可能感兴趣的:(String与Array)