1. 程式人生 > 其它 >C語言基礎-字串(一)起源、定義、賦值

C語言基礎-字串(一)起源、定義、賦值

技術標籤:字串c語言經驗分享

起源

字串或串(String)是由數字、字母、下劃線組成的一串字元。
字串在儲存上類似字元陣列,所以它每一位的單個元素都是可以提取的,如s=“abcdefghij”,則s[1]=“b”,s[9]=“j”,這可以給我們提供很多方便,如高精度運算時每一位都可以轉化為數字存入陣列。

字串就是字元陣列

Note:

%c:字元 %s:字串
char用於C或C++中定義字元型變數,只佔一個位元組,取值範圍為 -128 ~ +127(-27~27-1)

定義、賦值(四種方式)

前三種方式

	//第一種方式
	char str1[3]={'a','b','c'};
    for
(i=0;i<3;i++){ printf("%c",str1[i]); } printf("第一種方式\n"); //第二種方式 char str2[3]="abc"; for(i=0;i<3;i++){ printf("%c",str2[i]); } printf("第二種方式\n"); //第三種方式 char str3[]="abc"; for(i=0;i<3;i++){ printf
("%c",str3[i]); } printf("第三種方式\n");

在這裡插入圖片描述
前三種方式原理類似,都是通過陣列來實現,第三種為標明陣列大小的方式與第一、二種略有不同。

char str1[3]={'a','b','c'};
char str2[3]="abc";
char str3[]="abc";
printf("str1[3]的大小是%d",sizeof(str1));
printf("str2[3]的大小是%d",sizeof(str2));
printf
("str3[]的大小是%d",sizeof(str13));

在這裡插入圖片描述

原因:源於字串在記憶體中的儲存方式。除了有效字元以外,字串str3[],括號內不寫值,表示陣列的大小會根據初始化時元素的個數來確定,在字串的結尾處,系統==預設會填上一個**’ \0 '**==作為字串結束的標誌。

第四種

第四種通過指標來實現,這種也是我們平時專案中用的最多的一種。

	//第四種方式
    char *str4="abc";
	printf("%s第四種方式,\n",str4);

在這裡插入圖片描述