c語言最小存儲單元是位元組,1位元組==8位。
㈡ 在C語言中如何定義5個單元數據
在C語言中如何定義5個int單元數據:可以採用下面的語句:
int a[5];
㈢ C語言使用指針計算數組元素個數和數組元素的存儲單元數,如圖錯誤在哪
#include<stdio.h>
intmain()
{doublea[200],*p=a,*q=p+1;
printf("數組元素個數=%d ",sizeof(a)/sizeof(a[0]));
printf("數組元素的位元組數=%d ",(char*)q-(char*)p);
}
㈣ 單片機問題,用c語言表示內存的單元地址,比較兩個單元數的大小,下面是一段間單的程序,不知道對不
這個程序可以運行,也是正確的。
下面我來一步一步分析下語句,你就會知道原理了。
unsigned char *D1,*D2,*D3;這句是聲明三個指針變數 ,unsigned char 型的指針。編譯器在這一步就會分配三個地址,用來存放這三個指針。假設分析的地址是:0x08,0x0B,0x2E.因為單片機內存較小,所以只用一個位元組來存放指針,也有的單片機內存較大,就用二個位元組。
D1=0x20;//分別指向相應的地址。
D2=0x30;
D3=0x40;
這三句是將指針指向特定地址,D1其實可以看成剛才分配的地址值,0x08;D2可以看成是分析的地址0x0B,D3同理。到這一步,0x08,裡面存放的內容就變成了0x20;0x0B里存放的值是0x30,0x0E里存放的值是0x40。
*D1,*D2,*D3表示址址D1,D2,D3里存放地址里存放的內容。也就是0x20,0x30,0x40里存放的內容。
if((*D1)>=(*D2))
{
*D3 = *D2; //將較小的數存到D3所指向的空間(0x40)
}
else
{
*D3 = *D1;
}
這段程序是對0x20,0x30里存放內容進行比較,較小的放於0x40裡面。
你說的標准C里指針不能賦值常數,與此處不同,請再參考。
㈤ C語言中什麼是單元運算單目運算是一樣的意思嗎
是一樣的
一元就是只需要一個操作數,如a--、a++、 !a、 ~a等
二元就是需要兩個操作數才能完成運算 如典型的a+b、 a-b、 a*b、 a/b等
http://..com/question/116192942.html 剛回答過的
㈥ c語言中函數單元總數是什麼
clock函數。clock函數是獲取進程使用的cpu時間單元總數。C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發,能以簡易的方式編譯、處理低級存儲器。
㈦ C語言中每個存儲單元是幾個位元組,它由幾個二進制位構成
計算機存儲單元以位元組(BYTE)為單位,一個位元組 由 8個 字元(bit),也就是 8個 二進制位 構成。
一個 int , float, double .... 需幾個位元組存放,可以用 sizeof(int), sizeof(float), sizeof(double) ...計算。例如:
printf("int -- %d bytes\n",sizeof(int) );
printf("float -- %d bytes\n",sizeof(float) );
㈧ C語言中,各種變數所佔的內存單元數是多少這個內存單元和所佔位元組數有什麼聯系么速求解
這個因為同的機子而定,一般int 2 位元組有有些機子4位元組,char 1位元組。 最好的辦法用程序顯示,不同機子可能有些差異。printf("%d",sizeof(*****)); *****代表你想知道的類型如 int ,char ,double,flout等。
㈨ C語言中int *p[5]與 int (*p)[5]的區別
一、作用不同:
優先順序的問題,[]的優先順序高於*,這就是為什麼後者加了一個(),int *p[5]定義一個指針數組p,講到底這個p是一個數組,數組內的元素是5個指針,而數組內的每一個指針指向一個int型的變數;int (*p)[5]定義了一個指向5個元素的一維數組的指針。
二、含義不同:
第二個就是這個指針所指的值是一個大小為5個int的數組的首地址。p+1(數組地址+1)代表內存地址下移了5個單位。
三、使用不同:
int (*p)[5];
int a[10][5];
p=&a[1]; // 現在(*p)就等於a[1] 所以 a[1][2]可以表示為(*p)[2]
(9)c語言中的單元數擴展閱讀:
二維數組A[m][n],這是一個m行,n列的二維數組。設a[p][q]為A的第一個元素,即二維數組的行下標從p到m+p,列下標從q到n+q,按「行優先順序」存儲時則元素a[i][j]的地址計算為:
LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t
按「列優先順序」存儲時,地址計算為:
LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t
存放該數組至少需要的單元數為(m-p+1) * (n-q+1) * t 個位元組