当前位置:首页 » 编程软件 » c语言编译器用不了地址符

c语言编译器用不了地址符

发布时间: 2022-04-23 19:37:32

A. c语言关于取地址符的问题。

你好!!
1.地址就像你家的地址一样,指针变量存放的就是你家的地址,要想到你家,必须找到存放你家地址的变量(针对指针而言),那就是指针。
2.要是变量是整型不是字符串数组名,那就的带取地址符!!!
3.& 是取地址符的,(但还有位于运算),要是需要变量的地址就要加取地址符。

不理解,我们在交流!!!

B. 关于c语言中地址符的问题

在C语言里面,字符数组结束的标志是遇到'\0'。
在你的程序里,显然没有结束符,所以编译器不知道字符数组在何时结束。
另外要说明的是,结束符'\0'也要战用一个字符。用字符串给数组赋值编译器会自动在末尾加上结束符。所以你的第一个程序其实也是错误的,char a[5] = "abcde" 会提示溢出。改为char a[5] = “abcd"才对。或者char a[] = "abcde",实际上a的长度是6

C. 为什么C语言Scanf函数对字符串不要加 取地址运算符&

C语言的字符串为数组形式,而数组的名称可以表示其地址,故对字符串输入不需要加地址符。而单独的字符、整型变量等的名称不能直接表示地址,故需要加地址符。

数据类型

字符串数据类型是建模在形式字符串的想法上的数据类型。字符串是几乎在所有编程语言中可以实现的非常重要和有用的数据类型。

在某些语言中它们可作为基本类型获得,在另一些语言中做为复合类型获得。多数高级语言的语法允许通常用某种方式引用起来的字符串来表示字符串数据类型的实例;这种元字符串叫做“文本”或“字符串文本”。

(3)c语言编译器用不了地址符扩展阅读

字符串

C语言的字符串其实就是以''字符结尾的char型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准库里面的一些用于对字符串进行操作的函数。它们不同于字符数组。使用这些函数需要引用头文件<string.h>。

文件输入/输出

在C语言中,输入和输出是经由标准库中的一组函数来实现的。在ANSI C中,这些函数被定义在头文件<stdio.h>;中。

标准输入/输出

有三个标准输入/输出是标准I/O库预先定义的:

1、stdin标准输入

2、stdout标准输出

3、stderr输入输出错误

D. c语言。1输入的时候加不加地址符都可以2我定义的时候是s[3]但是 输入1个到4个都可以 5个就异常停

c语言在这方面控制的不是很严格,违规使用,可能成功,但是会出一些不可预料的错误,比如你碰到的异常。当你定义s[3]输入4个以上字符时,实际上侵占了别人的空间,那个空间可能是数据,也可能是代码。
我记得世界上有个模糊c语言编程大赛,就是利用这种不严格,发现了很多匪夷所思的编程方法,并利用这些方法产生一些不可思议的代码。

E. C语言中结构中scanf函数在何种情况下不用地址符

使用地址变量,或输入一个地址时,不用地址符。

F. c语言编程输入时为什么一维数组要加地址符,字符数组就不用呢

因为字符数组,数组名本身就是指一个地址。

定义了字符型数组char name[10]。name有两个含义:一个是代表着name这个数组第一个位置的地址,也就是name[0]的地址。可以说name就等价于&name[0]。

还有一种意思就是指代name整个数组。&name 就是整个数组的首地址。所以name和&name取得的地址是相同的。

(6)c语言编译器用不了地址符扩展阅读

name和&name区别:

不同点在于:name+1表示的是数组第二个元素的地址,而&name+1表示的是整个数组后又一个name数组的首地址,即&name[10]后一个新的name数组的首地址。例如:

#include<stdio.h>

int main(void)

{

char name[10]={"hello csdn"};

printf("name+1的地址:%p ",name+1);

printf("&name+1的地址:%p ",&name+1);

return 0;

}

所以说scanf("%s",name);和scanf("%s",&name);执行后的结果是一样的,都是name的首地址,都是给字符数组name赋值。推荐用 scanf("%s",name); ,第二种不容易理解也容易犯错,有些编译软件也不支持会报错。

G. C语言结构体 地址符的问题

&是取地址符,这里取地址的对象是listNode->data[i]而不是listNode啦。
至于listNode->data[i]的意思相信你肯定知道的,是指结构体里的成员变量。用&去取地址应该好理解了。

H. C语言中数组何时不用地址符号

数组名是指向数组第一个元素的指针,所以如果你直接使用数组名的时候是不需要取地址符的。如果你用了下标操作那就需要取地址符,比如:
int num[10];
直接使用num,那么不用取地址符。如果你用num[1],通过scanf给其赋值,是需要取地址符的

I. C语言中地址符究竟是什么

地址符& 就是获得一个变量/常量/函数的内存地址,没有别的含义。

scanf中,使用地址符,是因为scanf需要的是指针变量(因此指针变量不需要地址符),而普通变量需要通过地址符转译为指针使用。

charc,*p;
c='a';
p=&c;//这是地址符的“真谛”
scanf("%c",&c);
scanf("%c",p);

注意两个scanf语句都是正确的。

J. c语言里什么时候用取址符,什么时候不用

好难回答!取址符使用在你需要得到对象的地址,操作其指针的时候 ,或者将其赋值。

比如

intnum=0;

intfunc(int*p);

func(&num);

int*pNum=&num;

当你需要其地址的时候则需要&运算,比较常用的会应用在参数传递,例如:

structobj
{
inta;
intb;
};

voidfun(struct*objp);

intmain(intargc,char**argv)
{
structobj_obj;
_obj.a=10;
_obj.b=20;

fun(&_obj);

return0;
}
热点内容
地址映射到外网访问不了 发布:2025-04-12 02:38:10 浏览:667
编程中平方 发布:2025-04-12 02:36:49 浏览:408
高配置车辆具有哪些 发布:2025-04-12 02:23:37 浏览:612
进口商品防伪溯源码 发布:2025-04-12 02:23:36 浏览:160
二维码识别java 发布:2025-04-12 02:15:24 浏览:969
未转变者怎么看别人服务器ip 发布:2025-04-12 02:13:52 浏览:600
香蕉解压器 发布:2025-04-12 02:00:29 浏览:550
gca解压工具下载 发布:2025-04-12 01:58:20 浏览:287
饥荒服务器搭建好了搜索不到房间 发布:2025-04-12 01:55:27 浏览:705
小米盒子可以与电脑怎么连接服务器地址 发布:2025-04-12 01:53:17 浏览:20