定义数组char+a+10
*a和a[]有什么区别?
a和a[]有什么区别:char a[]定义的是一个数组,char *a定义的是一个指针。1.char a[]="asdf",这时候数组a是存放在函数的堆栈中的,函数推出时这个堆栈就被清除了。2.char *a="asdf","asdf"是一个常量,不存放在堆栈中,而是放在一个特殊的段当中。3.可以用printf("0X%x\\t0X%x\\n",name...
字符串和字符数组的区别是什么?
1、结束标志不同 字符串:必须以'\\0'结尾;\/\/ ‘ \\0 ’ 的意义是“字符串结束符”。字符数组:可以包含多个'\\0',但是如果当做字符串处理,则实际有效字符串为第一个'\\0'的签名的字符串,如果当做字符数组处理,可以处理字符数组的任何一个字符,所有的字符都可以是'\\0'。2、特点不同 字符...
c语言中,为什么不能对字符指针变量指向的字符串再赋值?
因为C语言中,凡是以""括住的形式直接出现,而且你又没有为其分配内存空间的字符串都是常量字符串,是不能修改其值的。这样:char a[6]="hello";a[2]='c';就可以了。这里你为hello分配了一个长度为6的字符数组空间来存放。
字符数组中的内容不一定是字符串???那还可以是什么?
不要误导人了 对于字符数组,其长度是固定的,其中任何一个数组元素都可以为 null 字符。因此,字符数组不一定是字符串。对于字符串,它必须以 null 结尾,其后的字符不属于该字符串。字符串一定是字符数组,它是最后一个字符为null 举个例子,以下是用于存字符数组a【】的内存单元 \\0\\0\\0\\0\\0\\0...
对于char a[80];这个数组而言,char *p=a;如果f=p+1;那么f指针指向的是...
p+1中的1指的是移动了一个单位,这个单位就是数组定义时的类型所占的字节数,比如定义一个char ch[20]; 那么ch+1中的1就是一个char单位,实际是一个字节(因为一个char占一个字节),定义一个int in[40],那么in+1就是一个int单位,实际上是四个字节。
c 数组中&问题?char a[]; scanf("%s",a);与scanf("%s",&a);有区别...
在char a[10];,a和&a只是值相等,其性质是完全不同的,a是a[0]元素的地址&a[0],a+1就是a[1]的地址&a[1]了;而&a是整个数组a的地址,&a+1就跳过这个数组了,是a[10]所在的地址了。你可以用printf("%p %p\\n",a+1,&a+1);来检查它们的性质。但在有的编译器下,char a[];...
以下对一维数组a的正确说明是
以下对一维数组a的正确说明是:(D)A.char a(10);B.int a[];C.int k=5,a[k];D.char a[3]={‘a’,’b’,’c’};维数是数学中独立参数的数目。在代数几何史上,维数的定义经历了三个阶段:最早是按流形的定义,即局部解析同构于n维单位球的流形为n维;到19世纪末,德国学派将...
C语言关于数组空间大小的问题
是这样的:定义char a[1]的时候,计算机给这个数组分配了存放空间,这个空间的首地址为a,空间大小为仅仅能存放一个字符的空间。但是为什么你输入很多字符,然后运行,仍然能正确输出呢?问题在于a是一个首地址,c默认是你知道你要操作的对象是多长的。如果你把3个字符“xyz”强行送给地址a,那么,他就...
char*a[]表示什么?int main 和void mian有什么区别吗
是一个数组,名字为a,元素类型为char*(也就是指向char的指针)。在参数列表中,由于第一维长度可以退化,所以和char**a等价。int main和void main的区别——ISO C和ISO C++标准中,程序的入口函数有如下的原型:C语言:int main(void);int main(int argc, char* argv[]);C++语言:int main(...
char是什么类型的,char和string有什么区别?
1、类型不同,char是字符类型, String是字符串类型。2、String字符串是用""来包含串的, char是用''来包含单字符的。char a='1';\/\/定义一个字符。String b="dadsa";\/\/定义一个字符串。3、String内部用来存储的结果是一个char字符数组。private final char value[];\/\/这是string中用来存储值...
鄱阳县司利回答: 楼上都有问题,他们都没有真正输入100个字符.刚写了一个,已经通过测试,没发现问题#include #include int main() { char *a[10]; //定义指针数组 for(int i=0;i { *(a+i) = (char *)malloc(sizeof(char)*10); //*(a+i)表示指针数组的第i个元素,也可以写 ...
宗幸18849207930问: 【c语言】char(*a)[10] char*a[10] int(*a)[10] int* - ?
鄱阳县司利回答: int *a[10] :数组指针.数组a里存放的是10个int型指针 int (*a)[10] :a是指针,指向一个数组.此数组有10个int型元素 char 是指字符,同理
宗幸18849207930问: C语言 char name[10] "[]"代表什么意思? - ?
鄱阳县司利回答: 数组..int a[10] 定义整型数组a[10]里面有10个整型数字元素..char name[10] 定义字符数组name[10]里面有10个字符元素.有关内容请查阅谭浩强 C语言程序设计 数组一章
宗幸18849207930问: C语言定义数组问题 - ?
鄱阳县司利回答: 你这种抠细节的精神很好,我来告诉你正确答案.如果你是定义char a[10],那么你确保能使用的内存单元就是a[0]~~a[9],但是C编译器不会对数组下标进行检查,因此a[10]不会报错,并被编译为a[9]之后的那个内存单元.你定义a[10]的时候通...
宗幸18849207930问: C语言数组a{10}这个{10}是什么意思啊?? - ?
鄱阳县司利回答: 你的题目中,如果前面有定义,例如int a[10]或者char a[10],则a[10]代表了一个数组,如果单单只有a[10]则指一个实量,如定义:int a[11],则a[10]代表所定义的数组中第11个数字,因为数组时从0开始(a[0]). 也可以这样解释,a{10}表示给一个已经定义长度数组a[0]赋值10
宗幸18849207930问: 求助,有关C++char型的赋值问题 - ?
鄱阳县司利回答: 定义一个数组char a[10]; 怎么给这个数组赋值呢?1、定义的时候直接用字符串赋值 char a[10]="hello"; 注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的!2、对数组中字符逐个赋值 char a[10]={'h','e','l','l','o'};3、利...
宗幸18849207930问: C语言中函数形参是char (*a)[10],这是什么意思??求教各位,谢谢! - ?
鄱阳县司利回答: char(*a)[10] 说明该参数是一个数组指针,该指针指向一个包含10个元素的数组. 判断方法: 注意优先级, []的优先级高于*,而()可用来强行优先.char(*a)[10] 首先由*a知道这是一个指针,再有[]知道该指针指向的是数组.如果是char *a[10] 则首先由[] 知道这是一个数组,再有char *知道这个数组的内容是指针.
宗幸18849207930问: char a[10],是定义一个包含十个什么元素的数组a - ?
鄱阳县司利回答: 是个字符型元素的数组
宗幸18849207930问: 6. 数组定义char a[10]={`a`,`b`,`c`}:包括了 - -------个元素 - ?
鄱阳县司利回答: 10个,这个数组一共可以放个10元素.最后一个位留给'\0'.这是数组结束符号.不包括在数组元素内.你只放了3个.如果数组全部输出的话,有的编译器会吧字符后面的 全部赋值a.有的会用空格代替.不过数组里面确实是有10个元素,只是对你有用的只有3个而已.
宗幸18849207930问: c语言中 char a[]和 char[10]区别,尽量详细点,本人新手+菜鸟!!! - ?
鄱阳县司利回答: 前面一个在编译器中是报错的,原因是数组定义时一定要指明其大小,后者也是便宜不过去的因为你的数组名字和char关键字是有冲突的!