(defstruct person
(f-name)
(l-name)
(a-name))
(setq my (make-person))
(setf (person-f-name my) "san"
(person-l-name my) "zhang")
(defun show-all-name (person-obj)
(let ((all (concat (person-l-name person-obj) " " (person-f-name person-obj))))
(setf (person-a-name person-obj) (list all all))))
(show-all-name my)
(person-a-name my)
;; 结果是 ("zhang san" "zhang san")
看样子传的是参数地址,那传值怎么传?
如果是传址的话,函数内定义的局部变量 all
在函数show-all-name
结束后不就应该回收掉,外面还能获取值?这不是又是传值么?