尺寸與鑄件的兩個問題

發布 科技 2024-04-12
19個回答
  1. 匿名使用者2024-02-07

    1.編譯後,執行時。

    你可以用乙個陣列來測試它,我的IDE:VC++

    測試如下:

    int g_itest=sizeof(int);

    char ch[g_itest];

    編譯時錯誤無法分配常量大小為 0 的陣列,並且編譯器不知道該陣列有多大。

    到。 #define g_itest 1024char ch[g_itest];

    編譯通過,顯然已經編譯。

    2.感覺型別轉換是一種改變記憶表徵的方法。 int a=1, a 在記憶體中 =0x00000001;

    float b=(float)a, b 0x3f800000記憶體; 內部機制是演算法,知道 int 和 float 記憶體訪問表示很容易實現演算法。

  2. 匿名使用者2024-02-06

    1)我覺得在執行時還可以。

    #include

    #include

    using namespace std;

    void f(const int &i)

    int arr[i];

    cout <<"size of arry:"<>i;

    f(i);system("pause");

    return 0;

    2)資料以二進位形式儲存在記憶體中,每種資料型別都有自己的讀取演算法。

  3. 匿名使用者2024-02-05

    sizeof(struct depositor) 結構的大小 malloc 函式接受乙個 int(該結構的大小),為該位元組數分配空間,並返回指向該區域的不可區分的指標(void* 指標)。

    由於 void 指標必須轉換為不同的型別才能使用,因此我們將其轉換為目標格式(struct depositor *),然後就可以使用它了。

    整體效果,動態分配乙個新的結構存款人,由指標 p1 訪問。

  4. 匿名使用者2024-02-04

    就是把應用的記憶體(乙個位址,即乙個指標)做乙個強制轉換,變成指向結構存放器的指標型別,因為malloc返回的是void *型別,所以這樣的強制轉換是需要的。

    但實際上,即使你不做這種型別轉換,也沒什麼,編譯器只會給你乙個警告。

  5. 匿名使用者2024-02-03

    sizeof(struct depositor) 獲取 depositor 結構的記憶體空間大小,malloc allocation size 是 depositor 的一段記憶體,但它返回 void*,需要強制型別轉換為 depositor*,這就是 (struct depositor*) 的意思。

  6. 匿名使用者2024-02-02

    要開啟乙個 struct deposito (sizeof(struct depositor) 型別的空間是計算這個空間的大小。 馬洛克是為了開放而進行的。

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

    我沒有學過組裝,只想說各種型別的精度是不一樣的,轉換過程中部門精度的損失導致的結果不同。

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

    &php + sizeof(hope);希望*的指標被sizeof(hope)移位,即PHP的位址會被希望的大小移位 * sizeof(hope) = 8 * 8 = 64位,即0x0012ff78 + 64(0x40) = 0x0012ffb8

    而 (char*)&php + sizeof(hope) 移動 char 型別的指標,所以 char size * sizeof(hope) = 1 * 8 = 8 位元組,即:0x0012ff78 + 8(0x08) = 0x0012ff80

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

    Sizeof 可以,但只能在以下情況下使用:

    1 char ch;sizeof(ch) 表示變數區域的長度 結果是 1

    2 char *str = "abcdefg"; sizeof(str);變數也是一樣的,但這是指標,所以它是 4

    3 sizeof("abcdefg");這裡有些同學會認為指標的長度和2一樣,但實際上,這裡是靜態記憶的確切長度,結果是7。 因為你告訴他這個靜態記憶的長度,他為什麼不知道,不是嗎?

    4 char arr[10];sizeof(arr) 在這裡有點像 3,它是陣列 10 的長度。

    5 struct aa;sizeof(struct aa) struct aa 型別的長度為 8,但也可以是常用的型別,如 sizeof(char)、sizeof(int) 等。

    最後我們知道編譯器預設將引數引數集作為對應的指標,即只要引數是陣列,那麼它就是指標,上面的第二個子句是 4

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

    sizeof 是確定兩個字串的位元組長度,字串的長度一般不用這個函式,多使用 strlen(),包括標頭檔案

    if(strlen(a)>strlen(b)) 長字串位址。

    else if(strlen(a)

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

    if(sizeof(a)>sizeof(b)) 分配給 c 的長字串位址

    這裡使用 sizeof 只是指標的長度。 應使用 strlen

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

    強制轉換有兩種形式,稱為顯式強制轉換和隱式強制轉換。

    1.顯式鑄件。

    顯式強制轉換需要使用以下格式的強制轉換型別運算子:

    type() 或 (type)。

    Type 是型別描述符,例如 int 和 float。 是乙個表示式。 強制轉換運算元操作後,返回乙個帶 type 的數值,該強制轉換操作不會改變運算元本身,操作後運算元本身也不會改變,例如:

    int nvar=0xab65;

    char cchar=char (nvar);

    上述強制型別轉換的結果是刪除整數值0xab65頂部的兩個位元組,並將後兩個位元組的內容作為 char 值分配給變數 cchar,型別轉換後 nvar 的值沒有變化。

    2.隱式強制型別轉換。

    隱式型別轉換發生在具有返回值的賦值表示式和函式呼叫表示式中。 在賦值表示式中,如果賦值左側和右側的運算元型別不同,則賦值右側的運算元將被強制轉換為賦值左側的型別值,然後賦值給賦值左側的變數。 呼叫函式時,如果返回後的表示式型別與函式返回值的型別不同,則返回後的表示式的值在返回值時被強制轉換為函式返回值型別,然後返回值,例如:

    int nvar;

    double dvar=;

    nvar=dvar;這句話執行完後,NVAR 的值是 3,而 DVAR 的值還在。

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

    1.在C語言中,轉換是右邊最接近(double)的資料,運算級別低於括號,但高於乘除法、加減法、賦值字元等; 並考慮 k m 的問題:這個鍵取決於二進位運算的最高精度級別,並且在二進位運算的兩個變數之間:較低的精度會自動轉換為較高的精度;

    2. 示例:包括

    main()

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

    你理解得很對。 這兩個問題的答案都是:是的。

    一開始,val 被定義為 int,這意味著 val 的位址(即 &val)是乙個整數。 但是,一旦你取出了位址 &val,你就可以通過告訴編譯器位址的指標內容應該被讀取為 char 指標來重新定義位址的內容 (char *)。

    這可以被認為是鑄件,但它不是標準的,標準鑄件是:(char) val 或 char(val)

    在 32 位 Windows 作業系統中,int 的數量占用 4 個位元組(bytes),最低的位元組(即 8 位)被強制轉換為 char 後自動取,這是自動完成的,所以您不必擔心。 但是,由於指標被定義為指向 char 的指標,因此它僅由乙個位元組(8 位)新增(指標++)。

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

    int *a 實際上等於 (int *)a; 我們可以將 a 的資料型別視為 (int *),但 int(*a) 是另一回事

    int(*a)只是乙個只能概念化的東西,也就是說a本身就是乙個位址型別,*a取這個位址的值(變數,空格),但是宣告這樣的變數,當然等同於要魚不用說,編譯器肯定不做vc++好像是過去的編譯, 但記憶不能接受)。

    p = (struct studedt *)malloc(sizeof(struct student));

    malloc() 函式返回乙個普通的位址型別(但這個位址塊的大小已經是 sizeof()),如果你想將 struct student 指標 p 指向它,你必須將其轉換為 struct student 指標 p 可以指向的 struct student 位址,所以它被強制轉換

    struct studedt) *malloc(size);malloc() 給出乙個位址,它本身就是乙個指標,*pointer data,它將是乙個常量(空格),然後這個常量會被強制轉換為 (struct studedt) 就像 int a 一樣; short b = (short)a;當然,編譯和不編譯是另一回事(可以編譯)。

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

    分配記憶體空間函式 malloc

    呼叫表單:型別說明符 *) malloc(size)。

    型別說明符指示區域用於哪種資料型別。

    型別說明符 *) 指示返回值被強制轉換為該型別指標。

    size“是乙個無符號數字。

    例如:pc=(char *)malloc(100);

    表示分配了 100 位元組的記憶體空間並強制轉換為字元陣列型別,函式的返回值是指向字元陣列的指標,並且指標分配給指標變數 pc。

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

    這不起作用,p 是 struct student* 型別,malloc 返回 void* 型別。

    用於型別匹配。

    因此,malloc 返回的值也應該轉換為 struct studedt *,然後才能賦值。

    因此,將擴充套件放在外面是沒有意義的。

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

    struct student *p;

    p = (struct studedt *)malloc(size)

    p 是指向 sturct student 的指標,但 malloc(size) 返回 (void *) 以匹配 struct student *p,所以只要兩者相同,就可以了......p = (struct studedt *)malloc(size),它指向的區域是 struct student 型別。

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

    我已經很久沒有寫C語言了,所以我會盡力幫你回答。

    typedef struct 表示一種新的資料型別,如 lnode。

    LinkList 是指向資料型別(如 lnode)的指標,此 *linklist 指標指向 lnode 的結構型別。

    如果輸出 *linklist,則結果將是指標指向的資料。 輸出鏈結列表是此 *linklist 指標的位址。

    p、q 變數用於儲存鏈結列表等資料。

    sizeof() 是返回型別的大小,malloc 是應用程式的大小。 (linklist) 是乙個演員表。

相關回答
17個回答2024-04-12

第一。 解:因為 a(n+1)=a(n)+1 (n(n+1)),所以 a(n+1)-a(n)=1 (n(n+1)) 所以 a(n)-a(n-1)=1 (n(n-1))a(n-1)-a(n-2)=1 ((n-1)(n-2))a(2)-a(1)=1 (2*1)。 >>>More

19個回答2024-04-12

您還必須新增10元的網絡卡。

至於雙網絡卡的設定。 >>>More

4個回答2024-04-12

你對律師一無所知?! 想成為一名律師嗎? >>>More

6個回答2024-04-12

別慌,我告訴你,在美國留學的費用大概是每年30萬左右(我哥哥在美國的富蘭克林馬歇爾學院讀書)他是個大學生,我告訴你,如果你學得真好的話。 選擇雅思和托福。 告訴你,如果你成績好,你可以申請全額獎學金。 >>>More

7個回答2024-04-12

1.同樣,在細胞停止等離子體壁分離後,內部和外部濃度之間沒有差異。