C语言边写函数的时候要定义一个数组char*a和char a[]一样么?
发布网友
发布时间:2022-04-30 02:40
我来回答
共5个回答
热心网友
时间:2023-08-22 21:21
当然不一样。char*a是一个指向字符对象的指针,该对象可以是一个字符,也可以是字符串(即字符数组);而char a[]则是定义了一个元素个数不定的字符数组;具体来说,初始化时都可以说:
char*a="asdasd";
char a[]=asdasd";
但是定义之后,*a可以将字符串整体赋给他,而char[]则不行,如*a="asdasww";是对的,
但a[]="asdasww";绝对是不允许的!
热心网友
时间:2023-08-22 21:22
如果是作为函数的形参,那么两种方法都可以用,效果是一样的,如果只是声明数组的话要用char a[] 并且这种声明方式一般必须要初始化以确定数组大小,如char a[] = "hello";之后如果需要可以修改数组空间中的值,如a[3]='w';
char *a;只是声明了一个字符型的指针,并没有对应的空间,如果用它指向常量是可以的如:a="hello";但是如果对a指向的空间赋值就会出错。
热心网友
时间:2023-08-22 21:22
char*a定义a是个指向字符型的指针变量,char a[]定义了一个字符数组
楼主问的那个问题,在函数后的括号内的,char*s和char s[],就运行程序而言,是等价的
他们作为函数的形参,两个中的s实质上都等同于一个指向字符型的指针变量,其实都是完成了一个指针的传递。在形参中都只分配一个存放指针的空间,而不是说因为是char s[]就分配一个字符数组的空间。
热心网友
时间:2023-08-22 21:23
不一样;char *a;是定义一个字符型指针,它可以这样用:char c; a=&c;char a[];是定义一个字符数组,里面最好加上长度,如char a[4];即里面可以放4个字符......
热心网友
时间:2023-08-22 21:24
一个是指针,一个是数组追问我当然知道他一个是指针一个是数组就像这道题
函数fun的功能是:将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指定的数组中。void fun(char *s,char t[])
{ int i,j=0;
for(i=0;i<strlen(s);i++)if(s[i]%2==0)t[j++]=s[i];
t[j]=0;
}
把*s换成s[]是不是程序进行是一样的啊?
追答你写个程序试试,看看结果,
只有自己亲自做过,才记得清楚。
char a = ''; 怎么错了?
在很多语言中是不可以只写两个单引号而里面没有内容的,如果你想赋值一个空字符,可以这样写:char a = '\0';
c语言中,a 和a[] 有什么区别
比如说a[0]=2,a[1]=1,a[2]=3,组成一个一维数组,这就是a.但是,你要注意,a不是直接把这些东西都存着的,a只存首地址。假设定义了一个二维数组a[3][3].这时候a[0],a[1],a[2]就不再是元素了,而代表的是一个有三个元素的一位数组,而此时的a就是一个二维数组。如果感觉这个有...
chara[80]什么意思
chara[80]意思是声明一个字符型数组,数组包含80个元素。char是定义字符变量的关键字,a先与[n]结合,形成a[n]形式,是数组形式,它有n个元素。是一个指针有n个元素,每个元素为char型。在C语言中,chara[80]是声明一个字符型数组,数组包含80个元素。
C语言如何定义一个常量字符串
(1)在C语言中没有专门的字符串变量,如果想将一个字符串存放在变量中以便保存,必须使用字符数组,即用一个字符型数组来存放一个字符串,数组中每一个元素存放一个字符。例如“char a[10]="love".”(2)在程序中,字符串常量会生成一个“指向字符的常量指针”。当一个字符串常量出现于一个表达式...
c语言中 char a; 请问 a与’a’有啥区别 ’a’是a的ascll码?是个数字...
你想问是char a='a';这两个a的区别。首先第一个a是变量名,没有ascll码值,只是一个申明,存放‘a’的内存地址。而‘a’是一个字符,对应的ascll是97。
char a='1',char a=1有什么区别?
char a='1' 表示'1'这个字符赋值给a;char a=1表示ascii码等于1的字符赋值给a。char类型可以自动在ASCII值和字母之间转换;当写 char a =5 时, ASCII值为5的符号是一个类似梅花的符号,ASCII=0的是符号是空字符。例:char类型是字符类型,赋值的话可以直接字符赋值。char c = 'a';当然也...
字符数组只能存放字符串吗
C语言中字符数组的一般形式为:char数组名[数据长度]。例如:chara[10];a[0]=0;a[1]=1;a[2]=2;a[3]=3;a[4]=4;a[5]=5;a[6]=6;a[7]=7;a[8]=8;a[9]=9;就定义了a为字符数组,包含10个0到“9”的字符元素。因此,C语言中字符数组不单单只能保存字符串。字符数组是指用来...
可以介绍一下c语言里面的指针怎么运用吗?
指针本身占据的内存这个概念在判断一个指针表达式是否是左值时很有用。 指针的算术运算 指针可以加上或减去一个整数。指针的这种运算的意义和通常的数值的加减运算的意义是不一样的。例如: 例二: 1、chara[20]; 2、int*ptr=a; ... ... 3、ptr++; 在上例中,指针ptr的类型是int*,它指向的类型是int,它...
求解释c语言中char a[2]中的2是什么意思 是指能输入的最大字符数还是...
当a需要保存字符串时,需要注意,字符串必须以0值结尾,表示成字符就是'\0',而且这个0不算在字符串中的字符,那么你用a数组最多只能保存n-1个字符组成的数组,如果是char a[2];的话只能保存一个字符组成的字符串;如:char a[20]={ "Hello !" };或者char a[20]={ 'H','e','l','...
指针定义字符串和数组定义字符串的区别
char a;a = "I love you!";而对数组的初始化:char str[14]= {"I love you!"};不等价于 char str[14];str = "I love you!";4)如果定义了一个字符数组,在编译时为它分配内存单元,它有确定的地址。而定义一个字符指针变量时,给指针变量分配内存单元,在其中可以放一个字符变量的...