Android Day7

Android Day6

內(nèi)容:

Ⅰ指針

Ⅱ結(jié)構(gòu)體 struct

Ⅲfopen的使用

實踐:

Ⅰ指針

1. 數(shù)組和指針的關(guān)系

數(shù)組名并不是一個變量 沒有分配內(nèi)存空間
指針變量時有內(nèi)存空間

2.C語言為什么要引入指針

訪問變量都需要地址
解決跨區(qū)域(不同作用域 不同代碼塊)之間的數(shù)據(jù)交互

3.常量指針 指針常量 指向常量的指針

指針常量的本質(zhì)是一個常量男韧,而用指針修飾它,這個常量的值應(yīng)該是一個指針玻淑。

指針常量的值是指針撇他,這個值是常量樱拴,所以不能被賦值爹土》那遥看帮坚,常量指針本質(zhì)是指針妻往,常量修飾它,表示這個指針乃是一個指向常量的指針變量试和。指針指向的對象是常量讯泣,那么這個對象不能被更改。

指向常量的指針常量就是一個常量阅悍,且它指向的對象也是一個常量

'*'表示1.聲明/定義一個變量的時候 表示一個指針
int *a好渠;定義一個指針變量 指向的內(nèi)存空間只能存放整數(shù)
ps:定義指針的時候一定要給初值 不確定時給NULL,表示指向內(nèi)存的起始地址 0x00
int *a = b; (x) 指針變量只能存地址 不能存具體值
int *a = &b; (√) 其中b必須為整型地址节视,若為其他類型則不正確
5.除了定義指針變量之外 都是訪問某個地址的值

exp2:*temp = 21;表示訪問temp地址里面的數(shù)據(jù) 賦值為21

'&'表示取某個變量的地址

exp3:
 賦值的兩種方法
 int a = 10;
 int *pa = &a;

 int a2[10] = {}拳锚;
 int *pa2 = a2; 默認(rèn)把數(shù)組的首地址賦給指針

 int test (int a){
 return 0;}
 int(*paFunc)(int) = test;
  
 只要是指針變量 不論類型都占8個字節(jié)內(nèi)存空間 
 printf(%lu)sizeof(a) 4
            sizeof(pa) 8
            sizeof(a2) 40
            sizeof(pa2) 8
            sizeof(pFunc) 8

6.定義一個數(shù)組 系統(tǒng)會分配內(nèi)存空間 可以存值
定義一個指針變量 只為變量本身分配8個字節(jié)內(nèi)存空間
如果要給指針指向的區(qū)域賦值
(1)指針變量已經(jīng)指向某塊區(qū)域

int a3 = 10;
int *pa = &a3寻行;
*pa = 30霍掺;

(2)指針指向一個數(shù)組

int num2[10] = {};
int *pNum = num2; //指向數(shù)組num2的首地址
*(pNum + 0) = 20;
pNum[0] = 20;     //487 488兩式等價

(3)動態(tài)分配內(nèi)存
以上兩種指向的內(nèi)存都是別人的
希望分配一個屬于自己的內(nèi)存空間
自己分配的內(nèi)存空間必須自己釋放
普通變量的內(nèi)存是系統(tǒng)自己分配 所以系統(tǒng)自己負(fù)責(zé)釋放

 char *pName malloc(10 * sizeof(char)); 返回地址 接收地址
  //判斷分配是否成功
 if(pName == NULL){
 //分配失敗
 exit(EXIT_FAILURE);
 }

 pName[0] = 'j';
 pName[1] = 'a';
 pName[2] = 'c';   //浪費內(nèi)存空間 分配了10個 只用了3個 需要釋放內(nèi)存

 printf("%s\n", pName);

 //如果之前分配的內(nèi)存空間不夠了 就需要在之前的基礎(chǔ)上重新分配
 //realloc 必須是之前使用malloc分配過的
 //如果是系統(tǒng)分配的內(nèi)存 則不能使用realloc
  pName = realloc(pName,4 * sizeof(char));
  pName[3] = 'k';


 //釋放內(nèi)存
free(pName); //已經(jīng)釋放的內(nèi)存不能再使用 使用會出現(xiàn)空指針異常

 char *pTemp;
 *pTemp = 'A';(X)只為變量本身分配8個內(nèi)存空間 賦值則沒有空間 需要動態(tài)分配內(nèi)存

Ⅱ結(jié)構(gòu)體 struct

結(jié)構(gòu)體 struct
是一種數(shù)據(jù)類型 復(fù)合數(shù)據(jù)類型

struct Person {
char name[10];
int age;
};

int i;
i = 20;
struct Person xw;
//數(shù)組一旦定義 地址不能改變
//不能直接給數(shù)組賦值

xw.name[0] = 'x';
xw.name[1] = 'w';

 //常量字符串的地址是由系統(tǒng)自動分配的  char * addr; 
                                xw.addr = "西南大學(xué)";
 //字符指針必須分配內(nèi)存

 xw.age = 30;   //訪問結(jié)構(gòu)體用 .

 int i1 = 10;
 struct Person zs = {"張三", 20}

在結(jié)構(gòu)體內(nèi)定義的變量注意 不同種類變量遇到總是要對齊
占字節(jié)小的向最近的對齊 順序不同可能占字節(jié)不同

Ⅲfopen的使用

使用 <stdio.h> 頭文件中的 fopen() 函數(shù)即可打開文件寡痰,它的用法為:
FILE *fopen(char *filename, char *mode)
filename為文件名(包括文件路徑)抗楔,mode為打開方式,它們都是字符串

如果希望接收 fopen() 的返回值拦坠,就需要定義一個 FILE 類型的指針
FILE *fp = fopen("demo.txt", "r");

感想

今天講了用鏈表編寫學(xué)生管理系統(tǒng)连躏,聽的迷迷糊糊,大概不是我這個水平能寫出來的東西吧贞滨,很吃力入热,不過加油吧拍棕,努力總有回報的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市勺良,隨后出現(xiàn)的幾起案子绰播,更是在濱河造成了極大的恐慌,老刑警劉巖尚困,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蠢箩,死亡現(xiàn)場離奇詭異,居然都是意外死亡事甜,警方通過查閱死者的電腦和手機谬泌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逻谦,“玉大人掌实,你說我怎么就攤上這事“盥恚” “怎么了贱鼻?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長滋将。 經(jīng)常有香客問我邻悬,道長,這世上最難降的妖魔是什么耕渴? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任拘悦,我火速辦了婚禮,結(jié)果婚禮上橱脸,老公的妹妹穿的比我還像新娘础米。我一直安慰自己,他們只是感情好添诉,可當(dāng)我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布屁桑。 她就那樣靜靜地躺著,像睡著了一般栏赴。 火紅的嫁衣襯著肌膚如雪蘑斧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天须眷,我揣著相機與錄音竖瘾,去河邊找鬼。 笑死花颗,一個胖子當(dāng)著我的面吹牛捕传,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播扩劝,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼庸论,長吁一口氣:“原來是場噩夢啊……” “哼职辅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起聂示,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤域携,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鱼喉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秀鞭,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年蒲凶,在試婚紗的時候發(fā)現(xiàn)自己被綠了气筋。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡旋圆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出麸恍,到底是詐尸還是另有隱情灵巧,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布抹沪,位于F島的核電站刻肄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏融欧。R本人自食惡果不足惜敏弃,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望噪馏。 院中可真熱鬧麦到,春花似錦、人聲如沸欠肾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽刺桃。三九已至粹淋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瑟慈,已是汗流浹背桃移。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留葛碧,地道東北人借杰。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像吹埠,于是被迫代替她去往敵國和親第步。 傳聞我的和親對象是個殘疾皇子疮装,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容