Android兩個注意事項.深入了解Intent和IntentFilter(兩)

深入理解Intent和IntentFiler(二)
轉載請表明出處:http://blog.csdn.net/u012637501(嵌入式_小J的天空)
? ??在上一篇文章中,我們比較具體學習了"Intent"的相關知識,如今將學習怎樣設置Intent對象的這些屬性以及怎樣使用他們來啟動組件。

Intent對象是一組信息,我們能夠通過設置其Action、Data、Category屬性來指定啟動哪個組件并完畢什么樣的動作(包括動作所需的數據)。

? ? "意圖"分為顯示intent和隱式intent。

所謂顯示intent,指的是Intent已經明白了它將要啟動哪個組件-通過指定Intent對象的Component屬性實現。而隱式intent,

指的是Intent不能確定它將要啟動哪個組件(沒有指定Component屬性)-通過AndroidManifest.xml文件里的Intent Filter來對組件進行篩選來確定啟動的組件。
一、顯"intent"
? ??"意圖"。顧名思義,就是指Intent已經明白以我們可了它將要啟動哪個組件。因為一個組件類能夠通過其所在的包名和類名唯一的確定,所以通過intent的Component屬性來實現。Intent的Component屬性須要接受一個ComponentName對象。其構造函數傳入了該組件的包名、類名。

1."intent"開發基本思路
(1)創建一個ComponentName對象,用于為"意圖"指定組件包名、類名
ComponentName comp=new ComponentName(ComponentAttr.this,SecondaryActivity.class);
(2)創建一個Intent對象,并為該對象設置Component屬性
Intent intent=new Intent();
intent.setComponent(comp);
注意:通過使用Intent不同的構造函數,(1)、(2)步驟能夠合并為:
? ? Intent intent=new Intent(ComponentAttr.this,SecondaryActivity.class);
(3)啟動一個類名SecondaryActivity的Activity組件
startActivity(intent);
或者 startActivityForResult(intent,requestCode);    //關閉啟動的Activity會返回結果
(4)實現被啟動的組件SecondaryActivity類(繼承于Activity)
(5)在AndroidManifest.xml加入一個<Activity></Activity>元素,可是無需配置<intent-filter>元素
  <!-- 被intent啟動的activity --><activityandroid:name=".SecondaryActivity"android:label="第二個Activity界面" ><intent-filter><action android:name="action.CRAZYIT_ACTION"/><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity>

博主筆記1:除了上述Intent的setComponent方法,我們還能夠利用setClass來指定須要啟動的詳細組件
Intent intent=new Intent();
intent.setClass(ComponentAttr.this,SecondaryActivity.class);
startActivity(intent);

二、隱式intent
? ? 隱式intent,顧名思義,就是沒有指明intent究竟要啟動哪個組件。

顯式intent能夠通過設置其Component屬性實現。而隱式intent就通過Intent Filter來實現

詳細的說就是,我們事先設置好"意圖"啟動組件的相關信息(intent屬性),然后再在其它組件的AndroidManifest.xml文件設置好對應的intent屬性。當組件發出"意圖"時。Android系統通過查找project文件

AndroidManifest.xml(或者系統級組件)其它組件的<intent-filter/>相關信息來進行匹配。篩選得到滿足"意圖"條件的組件。
1.使用Action屬性開發基本思路
? ? ? ?Intent是組件之間的通信的載體,組件的通信能夠分為應用內部組件之間的通信和應用間的通信。Intent的Action、Category屬性都是一個普通的字符串,當中Action代表Intent索要完畢的一個"抽象"動作,Category屬性用于為Action添加附加的類別信息。
(1)應用內部組件通信-自己定義字符串 方式
public final String CUSTOME_ACTION="intent.action.CUSTOME_JIANG";//字符串能夠隨意
Intent intent=new Intent();        //創建一個Intent對象
intent.setAction(ActionAttr.CUSTOME_ACTION); //注意:ActionAttr為我們創建的類
startActivity(intent);    //啟動一個Activity
(2)與其它應用程序通信-使用系統預定action常量
Intent intent=new Intent();
intent.setAction(Intent.ACTION_CALL); //當中ACTION_CALL為Intent類的靜態成員變量,能夠類直接調用
startActivity(intent);
2.使用Action、Category屬性開發基本思路
(1)應用內部組件通信-自己定義字符串 方式
public final String CUSTOME_ACTION="intent.action.CUSTOME_JIANG";//字符串能夠隨意
public final String CUSTOME_CATEGORY="intent.action.CUSTOME_CATEGORY";//字符串能夠隨意
Intent intent=new Intent();        //創建一個Intent對象
intent.setAction(ActionAttr.CUSTOME_ACTION); //注意:ActionAttr為我們創建的類
intent.addCategory(ActionAttr.CUSTOME_CATEGORY); 
startActivity(intent);    //啟動一個Activity
(2)使用系統預定action、category常量-下面代碼實現當點擊某個button時,通過Intent對象實現返回HOME桌面。

Intent intent=new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);//返回Home桌面 
startActivity(intent);    //啟動一個Activity
注意:這里無需設置AndroidManifest.xml
假設是實現應用內部組件的通信。除了上述(1)(2)步驟,我們還須要完畢步:
(3)實現須要啟動的Activity,如SecondaryActivity.java,ThirdActivity.java,使其繼承于Activity;
(4)在projectAndroidManifest.xml加入<activity></activity>元素,并加入<intent-filter/>相關信息
<activity 
android:name=".SecondaryActivity"
android:label="第二個Activity界面" >
<intent-filter>
<action android:name="intent.action.JIANG_ACTION" />
<category android:name="intent.action.JIANG_CATEGORY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity> 
<activity 
android:name=".ThirdActivity"
android:label="第三個Activity界面" >
<intent-filter>
<action android:name="intent.action.JIANG_ACTION" />
<category android:name="intent.action.JIANG_CATEGORY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity> 

博主筆記2:實際上。我們在開發包括"意圖"的應用程序中,Action屬性和Category屬性是配合使用的。由于,Android系統會給主動Activity在AndroidManifest.xml中默認一個Action屬性和Category屬性。即:
?<intent-filter>
? ? ? ? ? ? ? ? <action android:name="android.intent.action.MAIN" /> ? ? ? ? ? ? ? ? ? ? ? ?//應用程序入口
? ? ? ? ? ? ? ? <category android:name="android.intent.category.LAUNCHER" />
? </intent-filter>
另外,還須要注意幾點:
1.Action常量等屬性。如ACTION_CALL是在設置intent時使用,其相應的字符串"android.intent.action.CALL"在AndroidManifest.xml"中使用;
2.當使用Action屬性等的系統提前定義常量,與其它應用通信時,僅僅須要在本應用的AndroidManifest.xml加入對應的權限就可以。

3.一個Activity中僅僅能且必須定義一個Action屬性和一個Category屬性,當中。Category屬性系統會分配其默認常量"CATEGORY_DEFAULT"

3.源碼
? ? 該實例主要完畢2個功能:
(1)實現一個button。使用Action屬性和Category屬性啟動一個Activity;
(2)實現一個button,用于返回HOME界面
(1).FirstActivity.java:主Activity
package com.example.android_intent_2;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class ActionCateAttr extends Activity {//自己定義一個action常量org.crazyit.public final static String CRAZYIT_ACTION="intent.action.JIANG_ACTION";public final static String CRAZYIT_CATEGORY="intent.action.JIANG_CATEGORY";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.first);Button btn=(Button)findViewById(R.id.button);btn.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {//創建一個Intent對象Intent intent=new Intent();intent.setAction(ActionCateAttr.CRAZYIT_ACTION);                 //設置action屬性intent.addCategory(ActionCateAttr.CRAZYIT_CATEGORY);    //設置category屬性startActivity(intent);}});//為btn注冊一個事件監聽器對象/*返回桌面按鈕*/Button btn1=(Button)findViewById(R.id.home);btn1.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {//創建一個Intent對象Intent intent=new Intent();intent.setAction(Intent.ACTION_MAIN);	//設置action屬性intent.addCategory(Intent.CATEGORY_HOME);//設置category屬性startActivity(intent);}});//為btn注冊一個事件監聽器對象}
}
(2).AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.android_intent_2"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="11"android:targetSdkVersion="14" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name=".ActionCateAttr"android:label="第一個Activity界面" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activityandroid:name=".SecondaryActivity"android:label="第二個Activity界面" ><intent-filter><action android:name="intent.action.JIANG_ACTION" /><category android:name="intent.action.JIANG_CATEGORY" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity><activityandroid:name=".ThirdActivity"android:label="第三個Activity界面" ><intent-filter><action android:name="intent.action.JIANG_ACTION" /><category android:name="intent.action.JIANG_CATEGORY" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity></application>
</manifest>
(3)在project中,加入SecondaryActivity.java,ThirdActivity.java繼承于Activity.

(4)效果

3.使用Data、Type屬性開發基本思路
? ? Action屬性為Intent對象描寫敘述了一個"動作"。那么Data屬性就為Intent對象的Action屬性提供了操作的數據。Type屬性用于指定該Data所指定Uri相應的MIME類型,這樣的類型能夠是不論什么自己定義的MIME類型,僅僅要符合abc/xyz格式的字符串就可以。

這里須要注意的是,Type屬性和Data屬性通常會出現相互覆蓋的情況,假設希望Intent既有Data屬性也有Type屬性,必須通過setDataAndType()方法來實現。

這里須要注意的是,Data屬性僅僅接受一個Uri對象。一個Uri對象通常通過例如以下形式的字符串來表示:

? ??Uri字符串格式:scheme://host:port/path 舉例: content://com.android.contacts/contacts/1或tel://18819463209
? ? 這里有兩種情況。一是啟動系統級應用程序;二是。啟動應用內部組件。前者無需配置AndroidManifest.xml中的<data../>元素。僅僅需加入對應權限就可以;后者。須要配置AndroidManifest.xml中的<data/>元素內容。當中。為組件聲明Data、Type屬性都通過<data../>元素,格式例如以下:
? ? <data android:mimeType="" ? ? ? ?//用于聲明該組件所能匹配的Intent的Type屬性
? ? ? ? ? ? android:scheme="" ? ? ? ? ? ? //協議
? ? ? ? ? ? ?android:host="" ? ? ? ? ? ? ? ? //用于聲明該組件所能匹配的Intent的Data屬性host部分(主機)
? ? ? ? ? ? ?android:port="" ? ? ? ? ? ? ? ? //串口
? ? ? ? ? ? ?android:path="" ? ? ? ? ? ? ? ?//資源路徑
? ? ? ? ? ? android:pathPrefix="" ? ? ? ?//Data屬性的前綴
? ? ? ? ? ? android:pathPattern=""/> ? ?//Data屬性的path字符串模板
情況一、啟動系統級應用組件
(1)實現一個Intent對象。并啟動組件
Intent intent=new Intent();                         //創建一個Intent對象
String data="content://com.android.contacts/contacts/1";
Uri uri=Uri.parse(data);                            //將字符串轉換為Uri
intent.setAction(Intent.ACTION_VIEW);  //設置Intent對象Action屬性
intent.setData(uri);                                   //設置Intent對象Data屬性
startActivity(intent); 
或者
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW); 
intent.setData(Uri.parse("content://com.android.contacts/contacts/1"));
startActivity(intent); 
(2)在AndroidManifest.xml中加入對應的權限
在Android中讀取電話信息時,要注意增加
<use-permission android:name="android.permission.READ_CONTACTS"/>
在android中使用BroadcastReceiver時
<use-permission android:name="android.permission.RECEIVE_SMS"/>
在android中使用有關的文件下載功能時,要使用到的
<use-permission android:name="android.permission.INTERNET"/>
<use-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>  
(3)源碼
? ? 該應用程序實現三個button實現三個功能:打開網頁、編輯聯系人、撥打電話
firstActivity.java
package com.android.android_intent_4; 
import android.support.v7.app.ActionBarActivity; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
public class MainActivity extends ActionBarActivity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
/*第一個按鍵功能:打開網頁*/ 
Button btn1=(Button)findViewById(R.id.button1);	
btn1.setOnClickListener(new OnClickListener(){	//為按鈕1注冊一個事件監聽器對象 @Override 
public void onClick(View v) { 
//1.創建Intent 
Intent intent=new Intent(); 
//2.設置action、data屬性 
String data="http://www.baidu.com"; 
Uri uri=Uri.parse(data);	 //將字符串轉化為Uri-通用資源標識 
intent.setAction(Intent.ACTION_VIEW);	//設置intent屬性為系統提前定義的Intent.ACTION_VIEW 
intent.setData(uri);	 //為intent設置數據屬性。用于傳遞數據 
//3.啟動Activity 
startActivity(intent); 
}}); /*第二個按鍵功能:編輯標識為1的聯系人*/ 
Button btn2=(Button)findViewById(R.id.button2);	
btn2.setOnClickListener(new OnClickListener(){	//為按鈕1注冊一個事件監聽器對象 @Override 
public void onClick(View v) { 
//1.創建Intent 
Intent intent=new Intent(); 
//2.設置action、data屬性 
intent.setAction(Intent.ACTION_EDIT);	 //設置intent屬性為系統提前定義的Intent.ACTION_VIEW 
intent.setData(Uri.parse("content://com.android.contacts/contacts/1"));	//為intent設置數據屬性。依據指定的字符解析出Uri對象 
//3.啟動Activity 
startActivity(intent); 
}}); /*第三個按鍵功能:撥打電話18819465188*/ 
Button btn3=(Button)findViewById(R.id.button3);	
btn3.setOnClickListener(new OnClickListener(){	//為按鈕1注冊一個事件監聽器對象 
@Override 
public void onClick(View v) { 
//1.創建Intent 
Intent intent=new Intent(); 
//2.設置action、data屬性 
intent.setAction(Intent.ACTION_DIAL);	 //設置intent屬性為系統提前定義的Intent.ACTION_VIEW 
intent.setData(Uri.parse("tel:18819465188"));	//依據指定的字符解析出Uri對象 
//3.啟動Activity 
startActivity(intent); 
}}); 
} } 
效果例如以下圖:

情況二、啟動應用內部組件
(1)實現一個Intent對象,并啟動組件
Intent intent=new Intent();                         //創建一個Intent對象
String data="lee://www.fkjava.org:8888/mypath";
Uri uri=Uri.parse(data);                            //將字符串轉換為Uri
intent.setAction(Intent.ACTION_VIEW); 
intent.setData(uri);                                   //設置Intent對象Data屬性
startActivity(intent); 
或者
Intent intent=new Intent();
intent.setAction(Intent.ACTION_VIEW); 
intent.setData(Uri.parse("lee://www.fkjava.org:8888/mypath"));
startActivity(intent); 
(2)AndroidManifest.xml中設置<data../>元素中的相關內容就可以
  <data android:mimeType=""android:host=""android:port=""android:path=""android:pathPrefix=""android:pathPattern=""/>
(3)實現其他Activity

版權聲明:本文博主原創文章。博客,未經同意不得轉載。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/287637.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/287637.shtml
英文地址,請注明出處:http://en.pswp.cn/news/287637.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Oracle常用sql語句(一)

Sql的分類DDL操作數據庫表列等表基本的操作主鍵索引視圖 常用數據類型字符串類型數字類型日期類型LOB類型LONG類型 數據轉換character datenumbercharacter通用函數條件表達式Sql的分類 DDL &#xff08;Data Definition Language&#xff09;&#xff1a;數據定義語言&#xf…

ASP.NET Web API 實現客戶端Basic(基本)認證 之簡單實現

優點是邏輯簡單明了、設置簡單。 缺點顯而易見&#xff0c;即使是BASE64后也是可見的明文&#xff0c;很容易被破解、非法利用&#xff0c;使用HTTPS是一個解決方案。 還有就是HTTP是無狀態的&#xff0c;同一客戶端每次都需要驗證。 實現&#xff1a; 客戶端在用戶輸入用戶名及…

WPF|分享一個登錄界面設計

分享一個登錄界面&#xff0c;先看效果圖&#xff1a;準備文中使用到了一些圖標&#xff1a;我們可以從 iconfont[1]免費下載&#xff1a;代碼簡單說明請隨手創建一個WPF項目&#xff08;.NET Framework、.NET 5\6\7皆可&#xff09;&#xff0c;使用tree /f命令看看最終的文件…

《零基礎看得懂的C++入門教程 》——(6)自己動手寫個函數

一、學習目標 了解C語言的自定義函數的使用方法了解C語言自定義函數的傳參了解C語言自定義函數的返回值 目錄 預備第一篇&#xff0c;使用軟件介紹在這一篇&#xff0c;C與C使用的軟件是一樣的&#xff0c;查看這篇即可&#xff1a;《軟件介紹》 想了解編譯原理和學習方法點…

k8s mysql數據同步_K8s——MySQL實現數據持久化

1、搭建nfs存儲[rootdocker-k8s01 ~]# yum -y install nfs-utils[rootdocker-k8s01 ~]# mkdir /nfsdata/mysql -p[rootdocker-k8s01 ~]# cat /etc/exports/nfsdata *(rw,sync,no_root_squash)[rootdocker-k8s01 ~]# systemctl restart nfs-server[rootdocker-k8s01 ~]# systemc…

【計算機圖形學】實驗:C#語言采用GDI+定義筆刷并填充圖形完整實驗操作流程

一、實驗目的: 熟練掌握在.net環境下對筆刷的定義,并可用定義好的筆刷填充多邊形。 二、實驗準備: 學習在.net環境下GDI+所提供的5種筆刷類型,掌握定義筆刷的方法和填充圖形的函數,如FillRectange ( )、FillEllipse ( )等。 三、實驗內容: 在.net環境中設計一個窗體…

Android之提示Invalid Region.Op - only INTERSECT and DIFFERENCE are allowed

1 問題 02-28 22:44:33.031 7379 7379 E AndroidRuntime: java.lang.IllegalArgumentException: Invalid Region.Op - only INTERSECT and DIFFERENCE are allowed 02-28 22:44:33.031 7379 7379 E AndroidRuntime: at android.graphics.Canvas.checkValidClipOp(C…

使用Java API的5個技巧

本文介紹了一些關于Java API安全和性能方面的簡單易用的技巧&#xff0c;其中包括保證API Key安全和開發Web Service方面中在框架方面選擇的一些建議。 程序員都喜歡使用API&#xff01;例如為app應用構建API或作為微服務架構體系的一部分。當然&#xff0c;使用API的前提是能讓…

管道模式 pipe

先放一個圖&#xff0c;預則立嘛 PipelinePattern.rar 這里是 不完整的碼轉載于:https://www.cnblogs.com/ganmk--jy/p/5525897.html

《零基礎看得懂的C++入門教程 》——(7)小數組玩起來

一、學習目標 了解數組的使用方法了解一維數組的使用方法了解一維數組與循環的使用方法 目錄 預備第一篇&#xff0c;使用軟件介紹在這一篇&#xff0c;C與C使用的軟件是一樣的&#xff0c;查看這篇即可&#xff1a;《軟件介紹》 想了解編譯原理和學習方法點這篇&#xff0c…

SSO 方案演進

1背景介紹 隨著業務與技術的發展&#xff0c;現今比以往任何時候都更需要單點登錄 SSO 身份驗證。現在幾乎每個網站都需要某種形式的身份驗證才能訪問其功能和內容。隨著網站和服務數量的增加&#xff0c;集中登錄系統已成為一種必要。在本文中&#xff0c;我們將討論下 …

【計算機圖形學】實驗:VB.net環境下的圖形裁剪完整實驗操作流程

一、實驗目的: 熟練掌握在.net環境下對圖形的裁剪。 二、實驗準備: 學習圖形裁剪的基本算法,以及在.net環境下裁剪圖形的基本方法。 三、實驗內容: 在.net環境中利用裁剪圖形的基本方法對任意圖形進行裁剪。

UI之常用通過顏色值和透明度怎么得到最后的顏色值

1 、問題 UI給了顏色#000000&#xff0c;透明度是75%&#xff0c;我需要最終的顏色值。 2 、透明度色值表 00%FF&#xff08;不透明&#xff09; 5%F2 10%E5 15%D8 20%CC 25%BF 30%B2 35%A5 40%99 45%8c 50%7F 55%72 60%66 65%59 70%4c 75%3F 80%33 85%21 90%19 95%0c 100%00…

《零基礎看得懂的C++入門教程 》——(8)搞定二維數組與循環嵌套

一、學習目標 了解二維數組的使用方法了解循環嵌套的使用方法 目錄 預備第一篇&#xff0c;使用軟件介紹在這一篇&#xff0c;C與C使用的軟件是一樣的&#xff0c;查看這篇即可&#xff1a;《軟件介紹》 想了解編譯原理和學習方法點這篇&#xff0c;學習方法和一些原理C與C都…

mybatis模糊查詢不同寫法

工作中用到&#xff0c;寫三種用法吧&#xff0c;第四種為大小寫匹配查詢 1. sql中字符串拼接 SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT(%, #{text}), %); 2. 使用 ${...} 代替 #{...} SELECT * FROM tableName WHERE name LIKE %${text}%; 3. 程序中拼接 Java …

常見的Ubuntu命令30條(一)

Ubuntu命令是指在Ubuntu操作系統中用于執行各種任務和操作的命令行指令。這些命令可以用于管理系統、配置網絡、安裝軟件、瀏覽文件等。Ubuntu命令通常在終端&#xff08;Terminal&#xff09;應用程序中輸入并執行。 在Ubuntu中&#xff0c;有許多常用的命令和指令。以下是一…

【計算機圖形學】實驗:C#.net環境下的圖形變換完整實驗操作流程

一、實驗目的: 熟練掌握在.net環境下對圖形的變換方法。 二、實驗準備: 學習圖形變換的基本算法,如平移、旋轉、縮放等,以及在.net環境下變換圖形的基本方法。 三、實驗內容: 在.net環境中利用變換圖形的基本方法對圖形進行變換,包括平移、旋轉、縮放、對稱、復合變…

Android之給ImageView添加點擊效果

1 問題 給ImageView添加點擊效果 2 解決辦法 1&#xff09;、新建selector.xml文件 <?xml version"1.0" encoding"utf-8"?> <selector xmlns:android"http://schemas.android.com/apk/res/android"><item android:drawable&…

python基礎知識縱覽(下)

python函數 1.函數作用 最大化代碼重用和最小化代碼冗余流程的分解2.函數基本概念 def創建對象并賦值給某一變量## 創建一個函數對象并賦值給fn_namedef fn_name(args1,args2,...,argsN): <statements>復制代碼def是可執行的代碼## 通過if語句判斷來做定義函數,def是實…

《零基礎看得懂的C++入門教程 》——(9)結構體原來如此

一、學習目標 了解C語言的結構體的使用方法了解C語言結構體的結構的賦值了解多種C語言結構體變量的賦值方法和取值方法 目錄 預備第一篇&#xff0c;使用軟件介紹在這一篇&#xff0c;C與C使用的軟件是一樣的&#xff0c;查看這篇即可&#xff1a;《軟件介紹》 想了解編譯原…