int p abc abc 到底儲存在哪裡?

發布 社會 2024-08-01
24個回答
  1. 匿名使用者2024-01-31

    字元陣列放置在堆疊中,指標指向的字串通常放置在靜態資料區域,具體取決於編譯器的做法,有些甚至是唯讀資料區域。

  2. 匿名使用者2024-01-30

    在編譯器上都是一樣的,實際上,int *p; 和 int* p; 這都是合法的,但我相信前者。

    因為:int *p, *q;

    不能寫:int* p, q;

  3. 匿名使用者2024-01-29

    是的,是的,但我從未見過有人這樣做。

    如果必須這樣做,則必須強制進行型別轉換。

    y=int(p );

    這將導致 x 的位址。

  4. 匿名使用者2024-01-28

    可能不是。 p 是位址。 y 是乙個數值。 無法相提並論。 指標用於儲存位址。 它不是數值。

  5. 匿名使用者2024-01-27

    是的,我認為最簡單的方法是檢視等號兩邊的變數型別是否相同!

    從理論上講,它對你不起作用,除非你投不投!

    否則,它將與C教科書充滿重疊!! 這是最權威的代表。

  6. 匿名使用者2024-01-26

    如果語言型別沒有那麼強,那也沒關係,但從應用的角度來看:這是違規的!

  7. 匿名使用者2024-01-25

    包括 int main(),但詢問哪個程式會執行錯誤? 另乙個:include int main()這個程式正常輸出!

    p、s 和“abcdef”在哪個區域? char s="abcdef";這告訴編譯器使用乙個包含“abcdef”內容的字元陣列(編譯器開啟乙個空格來放置字元陣列的內容)。

    char *p="abcdef";這是告訴編譯器使用指標(編譯器開啟乙個空格放置指標),讓指標指向放置“abcdef”內容的地方,哎呀,這時候“abcdef”沒有空格了,那麼編譯器就會認為這是乙個常量字串,並自行放在常量區域, 並讓指標指向常量區域中的字串。由於它是常量區域中的東西,所以以後不能改變,雖然p可以指向和讀取,但不能被覆蓋。

  8. 匿名使用者2024-01-24

    int *b = "abc"這裡錯了,"abc"型別為 char *,不能指定為 int * 型別。

  9. 匿名使用者2024-01-23

    int *p=5;有編譯錯誤,這是不正確的,應該分配位址。

    printf("%d,%c",p,*a);這裡 *a 指的是 a[0],即字母 a,格式化程式是 %c

    printf("%d,%s",p,a);這是位址,其中 a 是字串,格式為 %s,,以輸出字串"abc"

  10. 匿名使用者2024-01-22

    int *p=5;將 p 定義為指標變數,即位址變數。 然後將初始值 5 分配給位址,因此 *p 的值為 5,p 是位址。

    char *a="abc";由於 *a 等價於 a[0],因此 *a 的值是 a[0] 的值。 a 是乙個字串"abc",當輸出 a 時,它也是乙個輸出字串"abc"

  11. 匿名使用者2024-01-21

    因為 char 變數只用於儲存乙個字元,而不是字串,所以 *a 只輸出第乙個字元,a

  12. 匿名使用者2024-01-20

    int n;

    scanf("%d",&n);

    這裡得到 n 的位址;

    char a[10];

    scanf("%s",a);

    這裡 a 是第乙個位址,即 a[0];

    有什麼你不明白的嗎?

  13. 匿名使用者2024-01-19

    C 語言中的陣列是使用指標實現的。

    char *a=“abc” 和 char a[3]; 字元 A[0] = A,字元 A[1]=B,字元 A[2]=C。

    A 是第乙個位址,所以 *a 是 a[0]。

  14. 匿名使用者2024-01-18

    *a 是指標指向的內容

  15. 匿名使用者2024-01-17

    樓上的四個是什麼意思? ~

    從嚴格意義上講,這些都不是錯誤。

    答:這是初始化,但只是兩行初始化;

    b:在 printf 標準輸出中,%s 是輸出字串型別,傳遞 char 指標沒有錯;

    C:看起來很奇怪,但是在str++之後,指標在頂部增加了一位並指向它"bcdef",這也是可能的;

    建議房東做乙個實驗,所有這些選項都應該可以編譯鏈結。

  16. 匿名使用者2024-01-16

    嗯,好吧,a執行有問題,其他三個都可以執行,只有a在編譯時沒問題,但是執行時會出現錯誤。

    至少它必須是這樣的,如下所示:

    int *p,i=20;

    p=&i;

  17. 匿名使用者2024-01-15

    c 是錯誤的,並且點位置不應該是可修改的,就像陣列的基址一樣。

  18. 匿名使用者2024-01-14

    a,指標 p 未初始化,將值賦給它所指向的位址,後果不確定。

  19. 匿名使用者2024-01-13

    b,只是乙個b,彌補一下。

    s是位址,%s是字串,如何輸出? o(∩_o

  20. 匿名使用者2024-01-12

    a 是陣列的名稱,是陣列的第乙個位址!

    p=a;也就是說,將陣列陣列的第乙個位址複製到指標 p*p[3] 等價於 a[3]。

    指標變數都是整數變數,您將值分配給 A 陣列的第 4 個元素"abc",那麼你的陣列 a 應該是 char-type,對吧??

  21. 匿名使用者2024-01-11

    int *p[3] = "abc";

    是否符合語法,型別錯誤?

    就是這樣:

    char *p[3] = ;

  22. 匿名使用者2024-01-10

    *p[3] 是乙個指標陣列,p 可以變化。

    a[3] 是乙個一維陣列,a 不能改變。 第乙個位址是 a or &a[0]。

  23. 匿名使用者2024-01-09

    int *p[3] 表示定義指向整數變數的陣列指標,int *p[3]="abc"是錯誤的。

  24. 匿名使用者2024-01-08

    這將宣告放置在堆疊中的基本變數,如果 string str = new string("abc"這是目標情況,放置在堆垛區域。

相關回答
2個回答2024-08-01

U盤數字卡手機卡:

首先,需要確認U盤數字卡手機卡是否良好,可以嘗試更換方法。 >>>More

9個回答2024-08-01

以上都不準確。

CD 有四種型別: >>>More

17個回答2024-08-01

1. 使用 VS 建立乙個新的空專案,然後直接單擊確定。 >>>More

15個回答2024-08-01

國家一般採用三種方式儲存畢業後尚未就業的大學生檔案: >>>More

13個回答2024-08-01

房東**看到了太多......其實跟美國差不多,我不太在意,但大部分人都不是隨便的,畢竟也是乙個傳統國家。 事實上,有跡象表明,中國正變得越來越開放,可悲......