C語言基礎-字串(string)學長真是苦命…校慶補假還要來學校編講義……
c++中string的用法Anyway…字串的定義在陣列時應該已經講過了,而這堂要講的是字串的處理…(簡單來說…是一些字串處理函式)
一.輸入
一般輸入字串使用的函式為gets
其語法為
gets(字串名稱);
gets()會讀取換行字元之前的所有字元,並且在最後加上空字元’\0’,再將結果傳給程式。
比較:之前所說的scanf(“%s”,字串名稱)會讀取換行字元或空白字元(space.tab)之前的資料。gets()則單純是換行字元。
二.輸出
相對於gets(),一般在輸出字串時所使用的函式為puts
其語法如下
puts(字串名稱);
要注意的是puts會自動在輸出完成之後在最後自動加上換行字元(\n)
另外也可以使用
printf(“%s”,字串名稱);
來印出字串
三其他處理
C語言基礎-指標(pointer)
接下來是指標了…….(趴)
在正式講解指標之前,要先給大家所謂”記憶體位置”的觀念
之前講解變數時有提到,變數的資料都是儲存在記憶體中的,每一格記憶體(byte 當單位)都有自己的一個”編號”,這個編號就是所謂的記憶體位置。
那麼,當我們提到”變數的記憶體位置時”,應該就有人要舉手了
“整數不是動不動就4byte嗎?...”沒錯,所以變數的記憶體位置是以第一個byte的位置當作此變數的位置
大多數情況下,記憶體位置都採用16進位法來表示,如0x100等
聽不懂嗎??
請看飯粒(5點半…肚子餓了…)
在這個程式中出現的&,和使用scanf()時的&一樣,不是位元運算的and,而是所謂的”取址符號”。名副其實,取址符號就是用來取指的,也就是他會取得變數的記憶體位置。
//他是運算子
今天應該是上到這吧….
//我錯了
指標的宣告
指標的宣告語法如下
舉例來說.我宣告一個整數型態的指標
指標有的型態跟變數的型態一樣,而要注意是指標的型態必須與所指向的空間型態一樣。
至於給定指標的值的方式有兩種
那麼,由於指標內存的是一個變數的值,那麼當我們沿著這個指標所存的位置回溯,就能得到變數的值了。
要在程式中取得該指標位置所指向的變數的值,寫成下面的方式就可以了。
見下方的程式範例
當然,指標所指向的變數是可以改變的。
要注意的一點就是如果沒有給定指向的變數的話,有可能會發生難以預料的錯誤唷。
指標與函式
指標也可以當作函式的參數
這就是所謂的傳址呼叫
而之前所用的則稱為傳值呼叫
程式範例
上課專心聽講…
另外陣列也是用指標的觀念…
指標的運算也請大家用力記住吧
再這裡要開始補充一些之前上函式時忘記講到的東西了
inline函式
一般正常的函式再被呼叫時會經過一番麻煩的手續之後才做程式敘述,這冗長的手續包括複製引述.機器暫存器儲存起來…而inline提供了一個解決的方法:他直接將函數內的程式敘述加入至呼叫函式的地方,因此節省了許多動作
inline函式定義極為簡單,將關鍵字加值宣告之前就行了
範例
函式的重載(多載)
這裡要教的是overloaded的觀念,指的是同一函式名稱重複使用於不同的型態和定義. C是一種型態相當嚴格的語言,所以只要參數不相同就會被視為不同的函式
範例
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论