当前位置:首页 » 编程软件 » 编程地址符

编程地址符

发布时间: 2022-06-03 09:45:14

㈠ 在c语言编程中,把地址符删了会出现什么变化

比如
int a = 3;
int *p = &a; // 如果把&删了,那么指针p指向的是值,不是地址,这是不允许的

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

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

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

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

(2)编程地址符扩展阅读

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); ,第二种不容易理解也容易犯错,有些编译软件也不支持会报错。

㈢ C语言中 用scanf函数输入字符串数组,取地址符&是不用输的,如果输了取地址符算错么 ,或者含义不一样么

  1. 一般变量使用取地址符,是获取其地址,即为指向该变量的指针。

  2. 数组名就是数组的首地址,指向该数组的第一个元素的指针,只不过是常量指针而已。所以不用再加取地址符。

  3. 要加的话可以如下:

    char str[10];

    scanf("%s", &str[0]); // 取第一元素的地址,等价于数组名 str

㈣ c语言中取地址符和*有什么区别

c语言中取地址符和*有两点区别:

一、p指令:

声明中: * 表示指针,例如: int *p,p是指针,指向整型量。*p表示指针指向的整型量的值。

语句中,p表示指针指向的地址。如果p是指针,没有 &p 形式。

二、 x指令:

声明中:x是整型量。&x是整型量x的地址,不是指针。

语句中:x是整型量x的值。&另一用途是按位运算符,按位* 是乘号。

(4)编程地址符扩展阅读:

C语言中常见符号的作用:

1、 ? x:y,类似于if语句,例如: x>9?50:100; 意思是x是否大于9 ,是的话就输出50,不是的话就输出100。

2、c语言中,!的作用是逻辑非,例如:!a 凡是a不等于0,那么输出都是0,只有当a等于0时,输出的才是0。!=意思是不等于,一般应用与判断 if(a!=b)。

3、c语言中,&&表示逻辑且(交集) ,||表示逻辑或(并集)。实际上两者也是用来输出正确与错误,也就是输出0或1,判断的意思。

㈤ c语言函数参数里的取地址符号是什么意思

就是找到这个变量的内存地址,直接读写
例如:scanf("%d",&a);
就是找到a的地址,把读入一个数写到a 的地址中
在例如
p=&a;
就是让指针p指向a的内存地址,这样直接对内存读写.有利于提高操作速度.

㈥ 在使用指针编程时,如何正确表达数据的地址

char c='h'
char* p=&c

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

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

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

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

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

㈧ c语言取地址符有什么用,为什么scanf一定要用&

取地址符的作用是告诉系统定义的变量的值存放在内存空间的地址,scanf函数就根据这个地址值寻址,然后从这个地址空间中取出我需要的数据值,对于变量来说,只能通过&a的方式获取到该变量在内存中的地址,对于指针变量和数组,就不需要这个取地址符了。代码说明如下:

//变量
inta;
scanf("%d",&a);
//指针
inta,*p;
p=&a;
scanf("%d",p);
//数组
inta[10];
for(inti=0;i<10;i++)
scanf("%d",a+i);//a+i<===>&a[i]

㈨ c程序设计中地址符&必须要写吗

在C语言中,数组的名字本身就是一个指针即为起始地址,字符数组也是一样的。比如
int a[2] = {1,2};
int *p = a; //a本身就是一个指针,它表示数组的起始地址。
char str[20] = "hello";
char *pstr = str; //str本身就是一个指针,它表示数组的起始地址

数组的名字,等同于第一个元素的地址。以上面数组a和str为例,a本身是个地址,它等同于&a[0]获取的地址。str等同于&str[0]。

热点内容
腾讯服务器为什么卡顿 发布:2024-05-18 12:02:12 浏览:304
如何知道密码锁有没有nfc 发布:2024-05-18 11:58:09 浏览:961
单片机c语言模块化编程 发布:2024-05-18 11:53:16 浏览:644
win7xp共享打印机拒绝访问 发布:2024-05-18 11:51:00 浏览:847
zkeys金属服务器怎么使用 发布:2024-05-18 11:49:31 浏览:581
电信路由器密码设置无线路由器怎么设置密码 发布:2024-05-18 10:55:00 浏览:647
安卓系统是属于哪个国家的手机 发布:2024-05-18 10:41:41 浏览:99
linux运维前景 发布:2024-05-18 10:24:44 浏览:658
c语言crc算法 发布:2024-05-18 09:59:03 浏览:644
linuxc编程视频 发布:2024-05-18 09:55:58 浏览:273