麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

C語言結構體內嵌函數指針

2019-11-10 20:17:38
字體:
來源:轉載
供稿:網友
/*

.c文件聲明:1、關于結構體定義以及初始化的注意事項。2、關于C語言結構體內嵌函數指針實現面向對象。

對于一個結構體struct a {int b;int c;}; //結構體定義后需要加分號。結構體初始化方式:1、struct a a1 = { 1, 2};2、struct a a1 = {.b = 1,.c = 2};3、struct a a1 = {b:1,c:2}linux內核習慣用第二種,使用第二種或第三種時,結構體成員的初始化順序可變。C語言是面向過程的,但是C語言寫出的linux系統是面向對象的。非面向對象的語言,不一定不能實現面向對象。只是說用面向對象的語言來實現面向對象要更加簡單一些、直觀一些、無腦一些。用C++、java等面向對象的語言來實現面向對象簡單一些,因為語言本身幫我們做了很多事情;但是用C來實現面向對象很麻煩,看起來也不容易理解,這就是為什么大多數人學過C語言卻看不懂linux內核代碼的原因。如下例子:*/#include<stdio.h>struct Struct_Insect_Poiter{int a;int b;void (*Out)(void);int (*Add_To_Sum)(int , int );}; void test(void);int test_1(int a, int b);int main(void){int Sum = 0;struct Struct_Insect_Poiter struct_a = {.a = 1,.b = 2,.Out = test //結構體初始化末尾,不需要加任何符號.}; //第二種結構體初始化方式。struct Struct_Insect_Poiter struct_b ={a:3,b:6,Add_To_Sum:test_1//函數指針的初始化,將該函數指針指向與其類型匹配的函數。}; //第三種結構體初始化方式。Sum = struct_b.Add_To_Sum(struct_b.a, struct_b.b);//調用該函數指針。PRintf("Sum = %d/n",Sum);//Sum = 9,結果正確。// struct_a.Out;//無報錯,但是無正確結果。struct_a.Out();//結果正確。return 0;}void test(void){printf("Succeed!/n");}int test_1(int a, int b){return a+b;}
上一篇:指針降級

下一篇:django訪問靜態web資源

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧洲精品久久 | 午夜视频在线 | 国产91在线免费 | 久久人添人人爽人人爽人人片av | 欧美视频在线一区二区三区 | 最新黄色电影网站 | 亚洲欧美日韩久久精品第一区 | 精品一区二区三区网站 | 一本一道久久久a久久久精品91 | 国产成人强伦免费视频网站 | 欧美女孩videos | av在线中文 | 一级成人免费 | 欧美激情性色生活片在线观看 | 欧美一级成人一区二区三区 | 午夜精品成人一区二区 | 国产免费传媒av片在线 | 丰满年轻岳中文字幕一区二区 | 国产日本欧美在线观看 | 久草视频福利在线观看 | av国产片| 91九色福利| 国产一区二区视频观看 | 成人男女啪啪免费观看网站四虎 | 亚洲精品无码不卡在线播放he | 在线亚洲免费视频 | 成人9禁啪啪无遮挡免费 | 精品影视一区二区 | 国产精品成人免费一区久久羞羞 | 久久91久久久久麻豆精品 | 久久精品一区视频 | 91av视频大全 | 毛片免费一区二区三区 | 久草在线新时代视觉 | 在线成人免费观看视频 | 亚洲免费在线看 | 日本欧美在线播放 | 99日韩精品视频 | 宅男噜噜噜66国产免费观看 | aa级黄色片| 日本一区二区久久 |