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

c語言實現字元串的定義與基本操作

發布時間: 2022-07-21 06:11:03

『壹』 c語言中如何定義字元串

可以用數組或指針

數組:

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

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

指針:

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

『貳』 C語言如何定義字元串,其個數和長度均為變化的

C語言 字元串 <=> 字元數組 <=> 指針[字元指針]

你可以用字元指針 char * 類型定義字元串,這樣你就可以利用malloc和realloc動態分配空間了

這個是我寫的一個程序例子,你可以參考下
功能:將字元指針作為函數的參數編寫一函數 void InvStr(char *s, int n),將字元串s中的前n個字元倒序排列

#include <stdio.h>

#define INIT_SIZE 20
#define INCR_SIZE 10

unsigned int StrLen(char *str) /// 求出字元串中含有的字元個數,不包括結束標志
{ /// * 這里我沒有用庫函數求長度,我不知道怎麼用
unsigned int i;
for (i=0; str[i++]!='\0';);
return (i - 1);
}
void InvStr(char *s, int n) //逆置字元串s的前n個字元
{
int i; //索引變數
char ch; //中間變數

if ((int)StrLen(s) < n || n < 0) n = StrLen(s); //如果n不合適,則直接對整個字元串進行逆置

for(i = 0; i < n/2; i++){
ch = s[i];
s[i] = s[n-1-i];
s[n-1-i] = ch;
}
}
void main()
{
char * str = (char *) malloc (INIT_SIZE * sizeof(char));
char ch;
int i = 0; //字元串當前字元數
int len = INIT_SIZE; //字元串空間大小
while (ch = getchar()) { // 循環錄入字元串
if (ch == '@') { ///如果按回車鍵,則結束
str[i] = '\0'; ///字元串結束標志
break;
}
if (i < len-1) {
str[i] = ch;
} else {
str = (char *) realloc (str, (len + INCR_SIZE) * sizeof(char)); //增加存儲空間
str[i] = ch;
len += INCR_SIZE; //重新記錄字元串空間
}
i++;
}
scanf("%d",&i);
InvStr(str,i);
printf("%s\n",str);
}

『叄』 C語言中如何定義一個字元串呀

char b[]="張三",張三是字元串不是字元用雙引號一個漢字兩個位元組,你給的那五個位元組是放不下的,那個數組沒有對的地方,想用一維數組的話char a[]={"張三,李四,王二,小明,小花"};這樣做沒什麼實際意義

『肆』 在c語言中怎樣定義字元串

在c語言中定義字元串:

  1. C語言中用字元型CHAR來表示存儲字元,沒有C++裡面的可以單獨的字元串類型String;

  2. 所以C裡面使用字元數組和字元指針來實現字元串功能;

  3. C的字元數組只能在定義時一起賦值,以後只能給單個元素一一賦值;

  4. char string0[10];

  5. char string1[]="prison break";

  6. char string2[100]="michael scofield";

  7. 1句表示定義個長度為10的字元串,但未賦值,2句表示定義了一個字元數組string1,並進行初始化,使得其長度自動為13(字元串」prison break"中的字元個數加上結尾的''),3句定義了一個有100個元素的字元數組string2,並初始化了17個元素("michael scofield";加上結尾的'')。

『伍』 C++怎樣定義定義字元串

c++中字元串的定義用:string。

如:

string str;//聲明str

str="hi"//初始化為hi

可以引入頭文件

#include<string>

string str = "hello"//初始化為hello

可以用數組直接定義

數組定義分靜態動態

靜態: char c[10]; //將數組長度設置為10

動態: int a = 10;

char *c = new char[a]; //將數組長度自定義為a的大小,a的大小可以通過輸入自定義設置。

字元串在存儲上類似字元數組

它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。

通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。

設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。

以上內容參考:網路-字元串

『陸』 C語言里怎麼定義字元串變數

在C里邊是沒有字元串變數的。建議用字元數組來實現所需要的操作。