C語言基本知識 字串和指標

2021-10-08 09:29:26 字數 1449 閱讀 8546

#include

#include

#include

//輸入字串的方式:fget,定義乙個字串可以通過陣列的方式

int main1()

執行的結果為:

hello

輸入乙個字串

str= hello

//字串拷貝功能strcpy,與計算字串長度的函式strlen

//strlen與sizeof的區別如下:

c語言中沒有字串,用的是字元陣列來模擬字串。

c風格的字串時字元陣列然後在末尾加0表示結尾。

在c語言中有strlen和sizeof兩個函式求字元陣列的長度函式,他們倆的區別就是是否把最後的結束標誌也加上去。

strlen是不加的,他表示字串的長度。

而sizeof求的是字串在記憶體中的長度,所以它是加上最後的'\0'的

所以一般而言後者的長度會比前者多1。

**如下:

int main() ;

strcpy(str, "abcd");

int str_len = strlen(str);

int str_size = sizeof(str);

printf("strlen(str) = %d\n", (str_len));

printf("sizeof(str) = %d\n", (str_size));

return 0;

}執行結果如下:

strlen(str) = 4

sizeof(str) = 100

int mystrlen(char *str)

printf("str= %s\n",str);

//strcpy 賦值

//str =abdcd\0

strcpy(str,"abdcd");

printf("str= %s\n",str);

printf("sizeof(str)= %d\n",sizeof(str));

printf("strlen(str) = %d\n",strlen(str));

printf("mystrlen(str) = %d\n",mystrlen(str));

return 0;

}執行的結果如下:

字元陣列賦值

str= iiiiiiiiiii\0--->這裡輸出有個空格

str= abdcd

sizeof(str)= 11//這裡申請了記憶體的大小,因此sizeof為11

strlen(str) = 5

mystrlen(str) = 5

void mystrcat(char *s1,char *s2)

int main3()

執行的結果如下:

字串拼接

s1 = abc

s1 = abc123

//字串拷貝

int main()

字串的基本知識

int main 注意 字元要用 字串要用 下面是以第一種形式定義字串的用法 若字串定義在int main外面,其預設每一位為 0,0基本上相當於字串的最後一位,很多函式對字串處理時,都是讀到 0就結束 strlen s 用於求字串的長度,讀到 0截止,且 0不算 strcpy a,b 將b複製給a...

OC字串的基本知識

import 結構體的關鍵字 struct 乙個整體 由不同資料型別組成的乙個整體 typedef struct person person intmain intargc,const char argv nsstring result 武松打虎 duang duang duang 老虎跑下山 ya...

C語言指標 字串和指標

字元指標可以指向字元變數,但在實際應用中,我們常常會用到字串,而字串也是可以用字元指標指向的,但根據字串的不同儲存方式主要分為字串常量和利用字元陣列儲存的字串變數,兩者有不同的定義和使用形式 字元指標可以用來儲存字串常量的首位址 例如 char ptr my name is 此時,字串常量在記憶體中...