char str=
;//加\0是因為printf遇到\0才會列印結束,否則會列印系統值。
str[0]
='s'
;printf
("方式1 改變後:%s\n"
, str)
;//列印 sunhl
char
*str2 =
"sunhl"
;//這句隱式缺省會加\0
str2[0]
='s'
;//會崩潰
printf
("方式2 改變後:%s"
, str2)
;//上行崩潰了,此處不列印
區別:
str指向的是棧空間,棧空間裡的str是從全域性區/靜態區拷貝出來的乙份,在棧空間裡修改str不會報錯;但是str2是指向棧空間裡的2000h位址,棧空間沒有字串,去修改str2的時候會修改全域性區。全域性區不能修改,拒絕訪問就報錯。
//指標挪動獲取字串資訊
//模仿strlen函式
//c/c++編譯器 陣列作為引數傳遞,會把陣列優化成指標(傳的是陣列的首位址,編譯器不知道陣列的大小)(為了高效率)
void
getarrlen
(int
*len,
char arr)
*len = count;
}sizeof和strlen的區別:sizeof的功能能是,獲得保證,能容納實現所建立的最大物件的位元組大小。
strlen的功能是返回字串的長度,該字串可能是自己定義的,也可能是記憶體中隨機的,該函式實際完成的功能是從代表該字串的第乙個位址開始遍歷,直到遇到結束符null。返du的長度大小不包括null。
sizeof(…)是運算子,在標頭檔案中typedef為unsigned int,其值在編譯時即計算好了,引數可以是陣列、指標、型別、物件、函式等。
strlen(…)是函式,要在執行時才能計算。引數必須是字元型指標(char*)。當陣列名作為引數傳入時,實際上陣列就退化成指標了。
//atoi atof strcmp strcmpi使用
char
*str1 =
"45sun"
;char
*str2 =
"45sun"
;int i =
atoi
(str1)
;double d =
atof
(str1)
;int cmp =
strcmp
(str1, str2)
;//區分大小寫
int cmpi =
strcmpi
(str1, str2)
;//不區分大小寫(0代表是相等的, 非0代表是不相等的)
printf
("atoi:%d, atof:%lf, strcmp:%d, strcmpi:%d\n"
, i, d, cmp, cmpi)
;//列印 atoi:45, atof:45.000000, strcmp:1, strcmpi:0
//strstr使用
//判斷是否包含
char
*pop =
strstr
(str1,
"s");if
(pop)
//求開始出現的位置(陣列是一塊連續的記憶體空間,沒有斷層,所以可以-)
printf
("s第一次出現的位置:%d\n"
,pop-str1)
;//列印 2
//strcpy strcat
//catch:抓住
//字串拼接
char
* str3=
"==="
;char str[30]
;strcpy
(str,str1)
;//先copy到陣列裡面去
strcat
(str,str3)
;//再拼接
strcat
(str,str2)
;//拼接
printf
("拼接結果:%s\n"
,str)
;//列印:45sun===45sun
#include
void
test()
//大小寫轉換
void
lower
(char
*dest,
char
*name)
temp--
;//測試用,如果不--,temp值等於'\0',printf列印沒有值
*dest =
'\0'
;//避免printf列印系統值
printf
("temp列印:%s,name列印:%s\n"
, temp, name)
;//輸出 l,sunhl
}
C語言學習筆記 入門篇 5
本篇內容為兩道練習題,以加強對前面四節課的鞏固。ps 本系列內容為程式媛學習c語言時做的筆記。以 為主,並備註了列印結果以及詳盡的解釋注釋。希望對你有所幫助。c語言筆記入門篇包含多篇內容,當前位置 第五篇 題目 求printf的輸出結果 include intmain a 4 挪動到第四個元素 記憶...
NumPy學習筆記 入門篇
numpy學習筆記 收集者 keengle 最近在學習scipy。在理解scipy之前,numpy作為scipy基本的模組之一,是不得不去理解掌握的。先總結一下numpy部分的內容吧。接下來學習scipy,最後是pylab和matplotlib。介紹numpy是乙個python的擴充套件模組,通過使...
Spring學習筆記 入門篇
說明 本章筆記是一些針對入門的簡單步驟的筆記,入門的同學不需要知道太多關於spring內部原理的東西。還有一些犄角旮旯的瑣碎知識,如果你面試會遇到,背背就可以了。1.spring是面向介面程式設計的。可忽略 2.spring2個核心 ioc di 和aop。ioc di 也叫控制反轉。是解決類之間的...