當前位置:首頁 » 編程語言 » 字元串c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

字元串c語言

發布時間: 2022-01-16 07:57:22

c語言中如何定義字元串

可以用數組或指針

數組:

char s[80]="abcd";或者char s[80]={"abcd"}; /*說明:自動加字元串結束標志:*/

char s[80]={"a","b","c","d",""};

指針:

char *s;char*s="abcd";

Ⅱ c語言如何聲明字元串

C語言中沒有字元串類型的變數。
他只有字元變數類型char,所以字元串用變通的方式來表示。
第一是字元數組來表示字元串。用下面的語句聲明:
char a[10];
C語言中字元數組與字元串的唯一區別是字元串末尾有一個結束符'\0',而字元數組不需要。
如剛才聲明的a[10]是一個含有10個元素的字元數組,它也能存放含有9個元素的字元串。
第二種方式是直接用指針。語句是:
char *a;
用指針聲明的字元數組,大多數功能與字元數組表示字元串相同。但也有以下兩點不同,一是儲存位置不同,用字元數組表示時,字元串是存放在儲存器的變數區域內;而用指針表示的字元數組是存儲在儲存器的常量區內;第二個區別是字元數組的字元串可以更改,而指針表示的字元串不能更改。
有關字元串的賦值方法,如何引用,請參考相關書籍。
有什麼問題請留言。

Ⅲ c語言中字元串是%什麼

如果用在scanf或printf中的格式字元串中:
%d是代表整型數據,%f代表float型數據,%c代表字元型數據,%s代表字元串
具體可以網路scanf或printf

Ⅳ C語言中什麼是字元,什麼是字元串啊,謝謝

C語言中單引號的是字元,雙引號的是字元串。

1、字元指類字形單位或符號,包括字母、數字、運算符號、標點符號和其他符號,以及一些功能性符號。字元在計算機內存放,應規定相應的代表字元的二進制代碼。代碼的選用要與有關外圍設備的規格取得一致。

2、字元串主要用於編程,概念說明、函數解釋、用法詳述見正文,這里補充一點:字元串在存儲上類似字元數組,所以它每一位的單個元素都是可以提取的。

它是編程語言中表示文本的數據類型。在程序設計中,字元串(string)為符號或數值的一個連續序列,如符號串(一串字元)或二進制數字串(一串二進制數字)。

(4)字元串c語言擴展閱讀

C語言字元串的使用

用來存放字元的數組稱為字元數組,例如:

charc[10];

字元數組也可以是二維或多維數組。例如:

charc[5][10];

字元數組也允許在定義時進行初始化,例如:

charc[10]={'c','','p','r','o','g','r','a','m'};//c[9]未賦值,所以為默認值』』

當對全體元素賦初值時也可以省去長度說明。例如:

charc[]={'c','','p','r','o','g','r','a','m'};

這時c數組的長度自動定為9。

字元數組和普通數組一樣,也是通過下標引用各個元素。

Ⅳ c語言如何傳遞字元串

c語言函數中傳遞字元串,可以分為兩種情況,一種是將字元串作為參數,一種是將字元串作為返回值 ,當使用字元串作為返回值時,切記不要傳遞局部字元數組。下面是一個示例代碼:


#include<stdio.h>
#include<string.h>
#include<stdlib.h>
voidf(char*str){//字元串作參數
printf(str);
}
char*r(){//字元串作返回值
//使用動態分配內存,不要使用局部變數比如
//charbuf[80];因為局部變數在函數結束時,棧區變數已被回收
char*str=(char*)malloc(256*sizeof(char));
if(str==0){printf("can'tallocmem ");return0;}
elsememset(str,0x00,sizeof(char)*256);
returnstr;//
}
intmain()
{
char*pstr=r();
if(pstr!=0)strcpy(pstr,"helloworld ");
f(pstr);
free(pstr);
return0;
}

Ⅵ c語言如何表示字元串

C語言中並沒有字元串這個類型,表示字元串時,需要使用字元數組,或字元指針。即char型數組,或char *指針。

char str[100] = "hello world";
就是一種字元串的表示方法。

另外,在C語言中,約定用字元數組表示字元串時,以'\0'為字元串結尾,即ascii碼0。

Ⅶ 如何用c語言來表達一個字元串

1)在串值後面加一個不計入長度的結束標記字元,比如'\0'來表示串值的終結

初始化一個字元串的方法如下,在最後添加'\0'

char str[] = {'I','a','m','h','a','p','p','y','\0'};
也可以直接使用字元串常量初始化字元數組(系統自動加上'\0'),這種方法符合人們的習慣。

char str[] = "I am happy";
或者
char str[] = {"I am happy"};
注意:不能使用下面的賦值方式:
char str[20];
str = "I am happy";
但可以用字元指針指向這個字元串:
char *str;
str = "I love China";

(2)將實際串長度值保存在數組0的下標下

#define MAXSIZE 20 //數組的長度
typdef char String[MAXSIZE+1];
初始化字元串的方法:

String t;
StrAssign(t,"I am happy");
int StrAssign(String T,char *chars)
{
T[0] = strlen(chars); //下標為0存放數組長度
for(i=1;i<=strlen(chars);i++) //下標位置從1開始存放數據
{
T[i] = *(chars+i-1);
}
return 1;
}
(3)使用結構體類型(自定義類型)

#define MAXSIZE 20
typedef struct{
char ch[MAXSIZE];
int len;
}String;
其中:MAXSIZE表示串的最大長度,ch是存儲字元串的一維數組,len是字元串的長度
初始化函數示例:

String t;
StrAssign(&t,"I am happy");
int StrAssign(String *t,char *chars)
{
int i;
if(strlen(chars)>MAXSIZE+1) //字元串的長度大於數組的長度,操作失敗,返回0
return 0;
for(i=0;i<strlen(chars);i++)
{
t->ch[i] = *(chars+i);
}
t->len = strlen(chars); //數組的長度
return 1; //返回1,操作成功
}
說明:這里的StrAssign函數的參數t使用的是指針,是因為結構體變數做做形參,用法和普通變數一樣屬於值傳遞方式,在子函數中要給t賦值,所以輸入的是t的指針。與之對比的是(2)子函數中T是數組,傳入的是數組的首地址(改變形參也就改變了實參)。

————————————————
版權聲明:本文為CSDN博主「chenkaibsw」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/chenkaibsw/article/details/78957944

Ⅷ c語言定義字元串

定義字元串的方法如下:

#include <stdio.h>

#include <stdlib.h>

int main()

{

//定義字元串的幾種方式

//字元串和字元數組的區別:最後一位是否是空字元

char names1[] = {'j', 'a', 'c', 'k', ''};

char names2[50] = "jack";

char * names3 = "jack";

printf("數組所佔空間大小:%d ", sizeof(names1));

printf("數組所佔空間大小:%d ", sizeof(names2));

//動態輸入

printf("請輸入新名稱: ");

scanf("%s", names2);

printf("%s ", names2);

return 0;

}


(8)字元串c語言擴展閱讀

字元串函數的應用

①連接運算 concat(s1,s2,s3…sn) 相當於s1+s2+s3+…+sn.

例:concat(『11』,'aa』)='11aa』;

②求子串。

Copy(s,I,I) 從字元串s中截取第I個字元開始後的長度為l的子串。

例:(『abdag』,2,3)=』bda』

③刪除子串。

過程 Delete(s,I,l) 從字元串s中刪除第I個字元開始後的長度為l的子串。

例:s:=』abcde』;delete(s,2,3);結果s:=』ae』

④插入子串。

過程Insert(s1,s2,I) 把s1插入到s2的第I個位置。

例:s:=abc;insert(『12』,s,2);結果s:=』a12bc』

Ⅸ C語言字元串

若你的編譯器支持中文字元輸出,則你可把輸出語句里的英文字元改用中文。
#include<stdio.h>
int main()
{
char s[80];
int i;
printf("input a string (upper-case latters only) please:\n");
loop: gets(s);
for (i=0;i<strlen(s);i++){
if (s[i]>='A' && s[i]<='Z') continue; //大寫判斷
else {
printf("re_input a string (upper-case latters only) please:\n");
goto loop; //轉向語句
};
};
printf("output reversed:\n");
for (i=strlen(s)-1;i>=0;i--) printf("%c",s[i]);
return 0;
}