c語言中定義字元串
1. 在c語言中怎樣定義字元串
可以通過字元數組或字元指針來定義字元串,也可以用宏定義對常量字元串進版行定義。
下面通權過舉例來分別進行說明:
charstr1[]="HelloWorld";//通過字元數組來定義字元串"HelloWorld",數組中每個存儲單元存放一個字元
char*str2="HelloWorld";//通過字元指針來定義字元串"HelloWorld",指針str2指向一個存放字元串"HelloWorld"的連續地址單元的首地址
#definestr3"HelloWorld";//通過宏定義來定義字元串"HelloWorld",等價於str3="HelloWorld"
2. C語言里怎麼定義字元串變數
C沒有字元串定義,字元串是拆開放入char數組裡面的。
使用字元數組來實現,不過要預專留一個位置給'\0', C中的屬字元串以'\0'結束。
舉例說明:
char s[5]="ABCD";
字元數組s最多能存儲一個含有個字元的字元串(串結束符'\0'也需要佔一個位元組)。
char ch[21]="I am happy";
以上沒有明確寫'\0',編譯器會默認自動加一個'\0'。
也可以通過scanf("%s",ch); (以空格為結束標志)
或gets(ch); (以回車為結束標志)
在程序運行時通過鍵盤輸入字元串。
3. C語言中如何定義字元串
C語言的字元串是一片連續的空間,用'\0'表示字元串的結尾。如果版從一個權字元指針作為字元串的起始進行訪問,當遇到'\0'之前的整段空間的值都會被當做字元串的內容。LZ的程序中只復制的字元串長度等於串長的部分,沒有復制'\0'造成訪問越界。在VC++中用Debug模式運行程序,自帶的Microsoft
C&C++
Debugger會把未初始化的棧空間的每個位元組填充為0xCC以便查錯,而訪問到這段空間把連續的0xCCCC當做字元串了,按GBK編碼顯示為漢字「燙」。
可以改成這樣:
#include
<stdio.h>
#include<string.h>
int
main()
{
char
a[80],b[80];
int
i,t;
scanf("%s",a);
t=strlen(a);
for(i=0;i<t;i++)
b[i]=a[i];
b[i]='\0';
printf("%s\n",b);
}
====
[原創回答團]
4. c語言定義字元串
定義字元串的方法如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
//定義字元串的幾種方式
//字元串和字元數組的區別:最後一位是否是空字元
char names1[] = {'j', 'a', 'c', 'k', '