當前位置:首頁 » 編程軟體 » 編程地址符

編程地址符

發布時間: 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]。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:705
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:968
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:676
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:828
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:737
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1076
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:308
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:188
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:875
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:829