程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> C語言 題目

C語言 題目

編輯:C語言問答

C語言 題目

sizeof 、malloc、strcmp 是執行什麼的

long char float 占幾個字節

最佳回答:

啊..樓主剛學C吧?這些都是很基礎的,我給你分析分析吧!
前面三個sizeof 、malloc、strcmp 是一個函數可以分別執行自己的功能。

sizeof是一個求變量字節長度的函數,例如:
#include<stdio.h>
void main()
{
int a;
int len;
len=sizeof(a);
printf("%d\n",len);
}
因為定義的a為整形變量,所以在VC中自動非配四個字節,所以sizeof(a)的值就為4,數出的結果為4。但如果在tc編譯器中,只分配給整形數據2個字節,所以數出為2。所以這樣還要看具體編譯器的不同。呵呵

malloc是動態開辟一個內存空間:
比如malloc(100),就是開辟一個字節為100字節的存儲空間,且函數的值就是這個存儲空間的首地址。所以遮個存貯空間只能通過指針來訪問,所以可以定義個指針p使它的地址指向malloc的首地址p=malloc。這樣就可以訪問進行操作

strcmp是一個字符串比較函數,可以用來比較字符串的大小
例如 strcmp("good","teacher");這個功能就是一一的比較它們的字母,比較時都轉化為相應的ASICII的值比較,如果第一個字母相等,再比較第二個,如果第二個不相等,那麼是前者大於後者函數的值為整數,此後就不用再比較,函數判斷前者大於後者;如果前者小於後者函數值為負數,同樣不用再比較後面的字母,判斷為前者小於後者。如果字母都比較完後還是相等,那麼函數值為0,判斷為前者等於後者。例如:
#include <stdio.h>
#include <string.h>
void main()
{
int a;
a=strcmp("good","gooc");
if(a==0)
printf("good=gooc\n");
else if(a>0)
printf("good>gooc\n");
else
printf("good<gooc\n");
}
由於前面三個字母相同,所以判斷最後一個字母,因為d的ASCII的數字比c的大,所以判斷前者大於後者,函數值為正數,所以數出good>gooc

long char float這三個都是C中的函數類型。呵呵
在VC中long 分配四個字節,char分配一個字節,float分配四個字節
但在TC系列中long分配四個字節,char非配一個字節,float分配四個字節

希望能幫組到樓主!
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved