C語言筆記-指標(9) 用typedef簡化指標,函數指標
有時候看到複雜類行的指標,可以考慮用typedeg進行簡化
typedef cahr* string;
拿上一篇的範例進行簡化:
聲明變的清楚易懂,list就是一個字串陣列
string *p表示p是一個指向字串的指標,所以*p表示一個字串
---------------------------------------------------------
有一函數:
只要添加星號(括號一定要加,保證優先權),就是描述一個指向這類行的函數指標:
return f(first_in,second_in);
指標其實很簡單,就只是一個別名或位置而已,根本不用涉及不同類型的記憶體管理。
此文章內容參考"21 century c"一書,在此做筆記
如須刪除請告知 謝謝
typedef cahr* string;
拿上一篇的範例進行簡化:
#include <stdio.h> int main(){ char *list[]={"first","second","third",NULL}; for(char **p=list;*p!=NULL;p++) printf("%s\n",p[0]); }
聲明變的清楚易懂,list就是一個字串陣列
string *p表示p是一個指向字串的指標,所以*p表示一個字串
---------------------------------------------------------
有一函數:
double a_fn(int,int);
只要添加星號(括號一定要加,保證優先權),就是描述一個指向這類行的函數指標:
double (*a_fn_type)(int,int);
前面再加上typedef來定義一種類型:
typedef double(*a_fn_type)(int,int);
可以把它當成一個類型來使用,聲明一個接受另一個函數做為輸入參數函數:
double apply_a_fn(a_fn_type f,int first_int,int second_in){return f(first_in,second_in);
指標其實很簡單,就只是一個別名或位置而已,根本不用涉及不同類型的記憶體管理。
此文章內容參考"21 century c"一書,在此做筆記
如須刪除請告知 謝謝
留言
張貼留言