C/指针
< C
指针的定义
编辑- 指针为一种变量,存储的内容是存储器地址。
- 指针的使用会因为目的类型不同而有些微的影响。
变量指针
编辑- 指针的宣告:
int *ptr; /* 則 (int *) 為變數型態,ptr 為變數名稱 */
- 获取存储器地址:在变量前面使用 '&' 字符。
- 指向存储器地址:在变量前面使用 '*' 字符。
#include <stdio.h>
int main()
{
int v = 5;
int *ptr = &v;
printf("%d\n", *ptr);
}
函数指针
编辑函数其实也可以是指针。
#include <stdio.h>
typedef void (*MyDelegate)(int i );
MyDelegate test1( int i )
{
printf("%d\n", i );
}
MyDelegate test2( int i )
{
printf("%d\n", i+1 );
}
int
main(int argc, char* argv[])
{
MyDelegate function;
function = (MyDelegate)test1;
function( 21 ); /* 等同於呼叫 test1 */
function = (MyDelegate)test2;
function( 21 ); /* 等同於呼叫 test2 */
}