當前位置:首頁 » 編程軟體 » 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;
}
熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:621
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:350
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:65
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:290
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:785
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:335
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:199
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:794
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:352
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:580