Skip to content
This repository has been archived by the owner on Aug 31, 2022. It is now read-only.

Commit

Permalink
Update S-Expressions.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ksco committed Apr 17, 2016
1 parent f39849f commit 4e06578
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions S-Expressions.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,7 @@ Lisp 程序代码与数据的形式完全相同,这使得它非常强大,能

在 C 语言中,要表示列表,就必须正确的使用指针。C 语言中的指针一直如洪水猛兽般存在。虽然概念上非常简单,但是用起来却变幻多端,神秘莫测,这使得指针看上去比实际要可怕得多。幸运的是,在本书中我们只会用一些指针在 C 语言中最常规的用法。

我们之所以需要指针,是由 C 语言中函数的工作方式决定的。

我们之所以需要指针,主要是由 C 语言中函数的工作方式决定的。C 语言函数的参数都是通过值传递的。也就是说,传递给函数的是实参的拷贝。对于 `int``long``char`等系统类型以及用户自定义的结构体都是成立的。这种方式适用于绝大多数情况,但也会偶尔出现问题。

一种常见的情况是,当我们有一个巨大结构体需要作为参数传递的时候,每次调用函数,就会对实参进行一次拷贝,这无疑是对性能和内存的浪费。

0 comments on commit 4e06578

Please sign in to comment.