在使用指標值得注意的是對結構體指標的使用:
例如:
struct bookmessage
;
定義乙個指標引數的結構體
void importmssage(bookmessage *pbook){}
那麼如何用該指標輸出該資訊呢?
pbook->name vs pbook->id?
void
importmssage
(bookmessage *pbook)
&的優先順序低於->
scanf()在vs2013裡報錯,編譯器提示要用scanf_s代替;
scanf_s()引數與scanf()不同;
例如scanf(「%s」,&name,n),整形n為name型別的大小,如果name是陣列,那n就是該陣列的大小,即佔的空間。
隨帶附上本次發現錯誤時寫的工程:乙個書庫資訊輸入與列印資訊的**:環境—vs2013
main.c
#include
"book.h"
intmain
(void
)printf
("/*******************全部書籍************************/\n");
printallmssage
(book,
sizeof
(book)
/sizeof
(book));
max_price =
maxprice
(book,
sizeof
(book)
/sizeof
(book));
printf
("\n******************最大**第%d本*******************/\n"
,max_price+1)
;printmssage
(book[max_price]);
system
("pause");
return0;
}
book.c
#include
"book.h"
/************************************
function:顯示字元陣列元素
parameter:arr--陣列,len--陣列大小
return:void
date:2019-12-3
author:殘夢
************************************/
void
arrayprintchar
(char p,
int len)
putchar
('\n');
}/************************************
function:輸入單本書籍資訊
parameter:pbook--bookmessage型指標
return:void
date:2019-12-3
author:殘夢
************************************/
void
importmssage
(bookmessage *pbook)
/************************************
function:列印單本書籍資訊
parameter:pbook--bookmessage型結構體
return:void
date:2019-12-3
author:殘夢
************************************/
void
printmssage
(bookmessage pbook)
/************************************
function:列印全部書籍資訊
parameter:pbook--bookmessage型結構體
return:void
date:2019-12-3
author:殘夢
************************************/
void
printallmssage
(bookmessage pbook,
int size)
}/************************************
function:計算書籍**最大值的下標
parameter:pbook--bookmessage型結構體,size--書籍量
return:void
date:2019-12-3
author:殘夢
************************************/
intmaxprice
(bookmessage pbook,
int size)
return max_num;
}
book.h
#ifndef _book_h_
#define _book_h_
#include
#include
#include
#define _crt_secure_no_deprecate
struct bookmessage
;typedef
struct bookmessage book;
extern
void
importmssage
(bookmessage *pbook)
;extern
void
printmssage
(bookmessage pbook)
;extern
void
printallmssage
(bookmessage pbook,
int size)
;extern
intmaxprice
(bookmessage pbook,
int size)
;#endif
效果圖:
結構體指標,C語言結構體指標詳解
結構體指標,可細分為指向結構體變數的指標和指向結構體陣列的指標。前面我們通過 結構體變數名.成員名 的方式引用結構體變數中的成員,除了這種方法之外還可以使用指標。前面講過,student1 表示結構體變數 student1 的首位址,即 student1 第乙個項的位址。如果定義乙個指標變數 p 指...
C語言 結構體指標
asp.net unity開發 net培訓 期待與您交流!一.結構體 1.什麼是結構體 當 乙個整體 由多個資料構成時,我們可以用陣列來表示這個整體,但是陣列內部的每乙個元素都必須是相同型別的資料。在實際應用中,我們通常需要由不同型別的資料來構成乙個整體,比如學生這個整體可以由姓名 年齡 身高等資料...
C語言 結構體指標
指向結構體物件的指標變數即可以指向結構體變數,也可指向結構體陣列中的元素。指標變數的基型別必須與結構體變數的型別相同。如 struct student pt pt可以指向struct student型別的變數或陣列元素。典例 通過結構體變數的指標變數輸出結構體變數成員中的成員的資訊。解題思路 1 怎...