C 語言 字符串

字符串;
字符串:有字符構(gòu)成的一個(gè)集合
字符竄的定義: char string[10]
字符串的初始化:
char string [10]="hello";
char string []="hello";
char string[10]={"hello"};
char string *p="hello";

如下寫法是非法的
char *const string;
char string[10];
string="hello";

以下寫法是合法的
char *P=" hello"
p="word"

內(nèi)存區(qū)域分配

1 棧區(qū):自動局部變量,系統(tǒng)分配的空間
2 堆區(qū):由程序員分配,調(diào)用malloc函數(shù)
3全局區(qū)(靜態(tài)區(qū);)全局變量,靜態(tài)變量
4文字常量區(qū):常量字符串
5代碼區(qū);二進(jìn)制代碼

5 字符串和指針的關(guān)系
由于所有的字符串都可以看成一位字符數(shù)組,所以和指針關(guān)系如上

6
strlen:長度,不算\0
strcpy:完全拷貝
strnpy:部分拷貝
strcat:完全拼接
strnpy:部分拼接
strcmp:比較
strnmp:部分比較

二 字符串?dāng)?shù)組
1>字符串?dāng)?shù)組:數(shù)組里面沒存放的都是都是字符串
字符串?dāng)?shù)組的定義 :char [2][20]
字符串?dāng)?shù)組的初始化
char string[2][10]={{"hello"},{"nihao"}}
char string[2][10]={"hello"."nihao"};
char *p[2]={"hello""你好"];

作用域
1>定義:起作用的區(qū)域
2>變量按作作用域分
局部變量:函數(shù)內(nèi)部定義的變量
全局變量:函數(shù)外部定義的變量
3變量按存儲類型分
auto 自動;如果不寫,默認(rèn)是auto
staitic:靜態(tài)

4 生命周期:有作用域和存儲類型共同決定
自動局部變量A;由函數(shù)決定
自動全局變量有整個(gè)程序決定

 靜態(tài)局部變量:有整個(gè)程序決定
靜態(tài)全局變量:有單個(gè)文件決定

5 函數(shù)遞歸
1>函數(shù)遞歸:函數(shù)自己調(diào)用自己
2>遞歸不建議用的原因:
1>處理不好就會造成死循環(huán)
2>很占內(nèi)存

6 結(jié)構(gòu)體
1<結(jié)構(gòu)體:多個(gè)不同類型變量的集合
2<結(jié)構(gòu)體數(shù)據(jù)類型的定義:
struct person
{
成員變量1;
成員變量2;
........

      }

7結(jié)構(gòu)體變量的定義 :struct Person p;

結(jié)構(gòu)體變量的初始化;
struct Person p={"name",'m',123};
struct Person p1;
struct (p1.name,"name");
struct Person p2=p;

8:內(nèi)存對齊的三個(gè)原則
(1)如果結(jié)構(gòu)體里面所有的成員變量(成員屬性)都是基本數(shù)據(jù)類型(int char,float,double 那么第一個(gè)成員變量從內(nèi)存地址偏移量為0 開始分配,后面的成員變量從內(nèi)存地址偏移量本身所占字節(jié)大小的最小倍數(shù)開始分配
(2) 如果結(jié)構(gòu)體里面所有的成員變量不是基本數(shù)據(jù)類型;比如說:int arr[10];那么這個(gè)數(shù)組成員變量從哪日存地址偏移量是這個(gè)數(shù)組本書里面的元素的最大字節(jié)數(shù)的而倍速開始分配
(3) 最后收尾的時(shí)候,所占字節(jié)數(shù)要是最大成員變量的最小倍數(shù)

結(jié)構(gòu)體嵌套:結(jié)構(gòu)體里面嵌套結(jié)構(gòu)體

struct Birth
{
int year;
int month;
int day;
};
struct person
{
zhar name[10];
int age;
struct Birth brith;
};

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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