哈工大c++教学课件.pdf
文本预览下载声明
Pointer
C Programming Language
Li Hanjing
2009-11-9 知己知彼 1
1
1. Why do we need a pointer
void swap (int a, int b)
{ int temp;
temp = a; a = b; b =temp;
}
Passing by value!
main()
{ int x = 4, y = 5; Passing by reference
swap( x, y); with pointers?
cout x;
}
2009-11-9 知己知彼 2
a
a 12
x 12
b 24
y 24
b
X 12
y 24
2009-11-9 知己知彼 3
Why do we need a pointer
void swap (int a, int b)
{ int temp;
temp = a; a = b; b =temp;
} a
main() x 12
{ int x = 4, y = 5;
y 24
swap( x, y); b
cout x;
}
2009-11-9 知己知彼 4
Stories on pointers
• “该程序执行了非法操作,即将关闭”
– 这种错误几乎全是由指针和数组导致的
• 黑客攻击服务器利用的bug绝大部分都是指针和
数组造成的
2009-11-9 知己知彼 5
5
Stories on pointers
• The favorite of C funs
• 很多“Mission Impossible” 由指针完成
– 大多数语言都有无数的“不可能”
– 而C语言是
•
显示全部