1、答案是A,首先定义p是一个指向int类型的指针,不过这个指针没有初始化,也就是没有指向。然后定义了一个int类型的变量i,这里千万不要认为i也是个指针,如果i跟p一样,要在前面也加个*号。
为新华等地区用户提供了全套网页设计制作服务,及新华网站建设行业解决方案。主营业务为成都网站制作、成都网站建设、新华网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
2、第三题A x[3]为3无疑问,B p1为x[3]的地址 ++是后++不需考虑 也是3 C p1为x[2]地址,后面的++无论括号与否都是表达式执行完最后执行,D 先++之后也是x[3]的地址 明显正确。
3、p1=a : 表示指针p1指向数组的头部,假设地址为0x0001。p2=&a[5] : 表示指针指向数组的第6个元素的地址(C语言的数组元素下标从0开始),假设地址为0x0006。
4、先简单说明一下指针:指针就是变量的地址。如char *p;这个p就是一个指针(地址)。*p就是这个地址里放的变量(字符)这个问题的关键在point(char *p)这个函数,其中(char *p)的p为形参(就是形式的参数)。
5、C 指针是用来指示一个内存地址的变量,存放的是地址的值,大小与long一致,可以跟long通用,32位机是4字节宽,64位机是8字节宽。因为是地址,自然不能是浮点类型。
1、您好!b是数组名,代表数组的首地址,即&b[0],b+n-1表示数组的首地址前进(n-1)个单位(这里数组b是整型,所以相当于前进(n-1)*4个字节),所以b+n-1也是个地址。如果不懂可以再问。
2、不行, 原因是found函数已经声明成返回一个int指针的函数了,如果不声明p为指针则在p=founc(a,n)时会因为类型不匹配而报错。
3、通过数组或者指针把主函数main()中的数据传到函数中,程序改动如下,已经在win-tc和Dev-c++下调试通过。
4、指针赋值带来的内存丢失在C语言中指针之间是可以相互赋值的,但是使用不当可能会造成部分内存的“丢失” ,即这部分内存空间不能再被该任何程序访问。
5、fun(a)(*fun)(a)(fun)(a)效果都是一样的。fun和*fun的值也是一样的。
1、您的这个程序,主函数中的第一句话表示p1 和str都是数组名,指向数组中的第一个元素。p2是指针变量,指向的是字符型数据。第二句话表示p2这个指针变量指向的是包含有abc等三个元素的字符型数组。
2、如subst,str都是char*类型的,他们是字符指针,所以他们指向的类型是字符。*str和str[0]的含义是一样的,意思是取得首字符。
3、int a;char str[100];scanf(%d%s,&a,str);用 23 asdCR响应时,3前面的空格和3与a之间的空格被当作分隔符读入后丢弃,而最后的CR仍保留在输入缓冲区中。
4、1请编写函数fun,其功能是计算并输出n门课程的平均值,并统计在平均值以上的课程个数,该个数作为函数值返回。
5、指针指向的内存地址的值发生交换,但指针自身指向的地址是不变的,没错啊。指针自己的值没有变,原来指向20#的现在还是指向20#,但20#桌坐的女生已经和30#桌的换了。
6、没有区别,因为你的p本身的定义是int型指针,最后都会被强制转换成int型指针。