目錄
創(chuàng)新互聯(lián)主要業(yè)務有網(wǎng)站營銷策劃、網(wǎng)站設計制作、成都網(wǎng)站設計、微信公眾號開發(fā)、微信小程序開發(fā)、H5開發(fā)、程序開發(fā)等業(yè)務。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務的過程中,公司還積累了豐富的行業(yè)經(jīng)驗、全網(wǎng)整合營銷推廣資源和合作伙伴關系資源,并逐漸建立起規(guī)范的客戶服務和保障體系。前言
一、指針
1.內存
2.指針變量的大小
二、static關鍵字
三、常量和宏
四、typedef關鍵字
五、結構體
總結
在自己的學習過程中的總結,方便日后的復習。
內存是我們電腦中重要的存儲器,我們程序的運行都在我們的內存中,我們的內存被分為一份一份的小的內存單元,一個一個的小單元為一個字節(jié)即1byte,然后為了方便管理內存中的每個單元,我們給每塊內存進行了編號,就叫做這塊內存的指針或地址。
int * 是一種指針變量 他和其他變量類似
&為取地址符,可以通過&來獲取變量的地址
*為解引用符 ,可以*加上某一變量的地址來獲取該變量進行一系列操作
指針也可以應用到其他類型的變量
如char float
當變量類型為char時,他的指針變量將定義為 char* ,char為指針所對應變量的類型,而后邊的*代表這是一個指針。?
#includeint main()
{
char ch = 'w';
char* pc = &ch;
*pc = 'q';
printf("%c\n", ch);
? ?return 0;
}
2.指針變量的大小指針變量的大小取決于地址的大小,當我們在X86平臺下時,我們的虛擬的地址空間為32為,即有32位的2進制數(shù)字,我們的一個字節(jié)(byte)為八個比特(bit),一個比特(bit)存儲一個2進制數(shù)字0或1,故32位2進制數(shù)字將存儲需要4個字節(jié)的大小。
而在我們的X64平臺下,我們的虛擬地址空間為64位,同理可得,我們存儲這個地址需要8個字節(jié)的空間。
#include//指針變量的大小取決于地址的大小
//32位平臺下地址是32個bit位(即4個字節(jié))
//64位平臺下地址是64個bit位(即8個字節(jié))
int main()
{
? ?printf("%d\n", sizeof(char *));
? ?printf("%d\n", sizeof(short *));
? ?printf("%d\n", sizeof(int *));
? ?printf("%d\n", sizeof(double *));
? ?return 0;
}
二、static關鍵字三、常量和宏1.修飾局部變量時,該局部變量的生命周期變長,不會隨著作用域結束而消失。
如:static int a = 0;
2.修飾全局變量時,該全局變量成為該模塊的私有內容,在編譯結束后,將由外部鏈接變?yōu)閮炔挎溄?,在同一個工程中,其他文件并不能用extern關鍵詞直接引用該全局變量。
如:static char = ‘a(chǎn)’;
3.修飾函數(shù)時,與全局變量相似,成為該文件的專屬內容,有外部鏈接改為內部鏈接,也不能用extern聲明。
如:static int Add(x,y);
四、typedef關鍵字1.#define MAX 100
這是對于常量的定義,我們要注意定義后不加分號
2.#define 定義宏
//define 定義宏 #define ADD(x, y) ((x)+(y)) #includeint main () { ? ? int sum = ADD ( 2 , 3 ); ? ? printf ( "sum = %d\n" , sum ); ? ? ? ? sum = 10 * ADD ( 2 , 3 ); ? ? printf ( "sum = %d\n" , sum ); ? ? ? ? return 0 ; } 定義宏和函數(shù)有些類似, #define ADD(x, y) ((x)+(y)),在此句中,我們可以在((x)+(y)) 將變量用括號括起來,避免產(chǎn)生歧義。
typedef unsigned int uint;
typedef顧名思義就是類型重定義,就是我們對數(shù)據(jù)類型名新起一個名字,將復雜的名字化簡。
//將unsigned int 重命名為uint_32, 所以uint_32也是一個類型名
typedef unsigned int uint_32;
int main()
{
? ?//觀察num1和num2,這兩個變量的類型是一樣的
? ?unsigned int num1 = 0;
? ?uint_32 num2 = 0;
? ?return 0;
}
五、結構體當我們在使用數(shù)據(jù)時,會考慮到他們的數(shù)據(jù)類型,如:int float double char short long long long ,這些都是我們的內置數(shù)據(jù)類型,但是我們在生活中不可能只用到這些數(shù)據(jù)類型,我們在定義一個學生類型時,應該考慮到學生的姓名學號性別成績等內容,這時,我們可以定義一個結構體變量,將這些內容進行定義。
struct Stu
{
? ?char name[20];//名字
? ?int age; ? ? ?//年齡
? ?char sex[5]; ?//性別
? ?char id[15]; //學號
};
//打印結構體信息
struct Stu s = {"張三", 20, "男", "20180101"};
//.為結構成員訪問操作符
printf("name = %s age = %d sex = %s id = %s\n", s.name, s.age, s.sex, s.id);
//->操作符
struct Stu *ps = &s;
printf("name = %s age = %d sex = %s id = %s\n", ps->name, ps->age, ps->sex, ps-
>id);
總結在這段代碼中,使用 struct關鍵字來對結構體進行操作,在初始化結構體內容時,切記對char類型數(shù)組輸入時不加&符號,而需要輸出結構體內容時,需要用到“.”和“->”結構體成員操作符,“.”操作符用于直接,如s1.age,而“->”用于?使用指針操作時,如ps->age。
這就是今天的學習內容,??偨Y多學習。
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
當前題目:【從飲水機到名人堂之c語言】日常學習總結-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://aaarwkj.com/article12/gcigc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供ChatGPT、做網(wǎng)站、手機網(wǎng)站建設、定制開發(fā)、品牌網(wǎng)站設計、網(wǎng)站內鏈
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)