字符串的赋值主要有两种方法,第一种是通过指针的方式直接赋值,第二种是通过数组直接赋值。
1、指针式赋值。
通过程序的运行情况,可以知道:char *p = "hello";这种字符串的赋值方式是完全没有问题的。要理解这种赋值方式,首先得理解双引号(特别注意:这个是双引号,不要赋值的时候给弄了个单引号)在这个语句中做了什么工作。双引号主要做了3个工作,分别是:
(1)申请了空间(在常量区),存放了字符串。
(2)在字符串尾加上了“\0”。
(3)返回地址。
这里所返回的地址就赋值给了char *类型的指针变量p。
2、通过字符数组直接把字符串赋值。程序如下:
字符串赋值需要注意的一些问题:
直接把字符串赋值给数组名(也就是数组首元素的首地址)是不行的。
会出现以下错误:
本回答被网友采纳c语言字符串怎么赋值?
1、定义的时候直接用字符串赋值如:char a[10]="hello";注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的。例如: main(){ char s[100];strcpy(s, "The writer would like to thank you for""your interest in his book. He hopes you""can get some helps ...
c语言字符串的赋值方法
在C语言中,字符串的赋值方式有以下几种:1.字符数组赋值:可以通过定义一个字符数组,并逐个赋值字符来表示字符串。例如:char str[] = "Hello World";2.字符指针赋值:可以通过定义一个字符指针,并将指针指向字符串常量或字符数组的首地址来表示字符串。例如:char *str = "Hello World";3.strcp...
C语言中怎么字符串赋值?
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。2、在test.cpp文件中,输入C语言代码:char a[20];strcpy(a, "hello");printf("%s", a);。3、编译器运行test.cpp文件,此时成功将字符串赋值给了字符串a并打印。
怎么进行字符串赋值?C语言
如果是赋初始值,可以:char str[20]={ "Hello" };或者char str[20]={ 'H','e','l','l','o',0 };如果需要在程序中赋值:include<string.h> strcpy(str,"Hello");
c语言中str的用法
以下是str在C语言中的常用用法:1. 字符串赋值:可以通过以下两种方式将字符串赋值给一个字符数组或指针变量:```char str1[] = "hello world";char *str2 = "hello world";```2. 字符串复制:可以使用strcpy函数将一个字符串复制到另一个字符串中,如下所示:```char str1[20] = "hello...
C语言怎样给字符数组赋值
1、单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值。例子:char a[10];char ch='a';for( i=0;i<10;i++ )a[i]=ch+i ; \/\/可通过数组下标引用数组元素,完成赋值 char *p;for( p=a; p
c语言中switch语句中字符串怎么赋值?
字符串一般有两种赋值方式 在定义时赋值:char* str= "hello, world 使用strcpy(dst_str,src_str)赋值:char *str1 = "hello, world";char str2[20];strcpy(str2, str1);
C语言里如何把输入字符串赋值给字符数组?
include <stdio.h> int main(){ char s[20];scanf("%s",s);printf("%s\\n",s);return 0;} 直接用scanf接收输入就可以复制给字符数组。
关于C语言字符串赋值的问题
=== 一个字,一个字地 赋值也可以:char s[4];s[0]='1'; s[1]='2'; s[2]='3'; s[3]='\\0';数组下标从0开始,所以用到 s[0],s[1],...单引号括起的叫字符常量,一个字,一个字地 赋值 要用字符常量 '\\0' 是转义字符,是 字符串结束符 这时, printf("%s",s...
c语言如何对字符串变量赋值
标准C中没有字符串变量这一说法,其存储字符串是用字符数组。include <stdio.h> include <string.h> int main(){ char p[30];strcpy(p,"hello"); \/\/用这个函数可以给字符数组赋值。printf("%s",p);}