2012年3月20日 星期二

DEV C++內到底變數的資料型態預設是多少?

因為C語言指標練習的關係,再加上朋友說的解說,
*********************
純C是2byte,所以int的範圍是unsigned int 0~65536,signed int -32768~32767,但是如果你用VC, BCB 打sizeof(int),出來會是4BYTE,因為C比較古早當時的電腦位元數都是16位元,後來出了32位元VC, BCB都是跑32位元的然後現在有了64位元,所以有了__int64這種型態,所以就是要看compiler用的是哪種。
*********************
所以,我去找了一些資料,看說看一下在DEV C++內到底變數的資料型態預設是多少
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
  printf("型態\t\t大小(bytes)\n");
  printf("short\t\t%d\n", sizeof(short));       
  printf("int\t\t%d\n", sizeof(int));   
  printf("long\t\t%d\n", sizeof(long));   
  printf("float\t\t%d\n", sizeof(float));   
  printf("double\t\t%d\n", sizeof(double));     
  printf("long double\t%d\n", sizeof(long double));      
  printf("char\t\t%d\n", sizeof(char)); 
 
  system("PAUSE");
  return 0;
}


參考網址:http://caterpillar.onlyfun.net/Gossip/CGossip/Datatype.html

C語言-指標練習

指標運算子:
1、&:取得變數位址。
2、 *:指標取得某記憶體的內容。


範例練習:
***************************
int a=10,b;
int *p;

p=&a;  <=將p指向a位址,p=0。
b=*p;   <=取p的內容放到b。
*p=20; <=將p的內容改為20。

答案:a=20,b=10


●搞不是很懂為何是4byte:
純C是2byte,所以int的範圍是unsigned int 0~65536,signed int -32768~32767,但是如果你用VC, BCB 打sizeof(int),出來會是4BYTE,因為C比較古早當時的電腦位元數都是16位元,後來出了32位元VC, BCB都是跑32位元的然後現在有了64位元,所以有了__int64這種型態,所以就是要看compiler用的是哪種。

2012年3月16日 星期五

臭蟲一堆的DEV-C++

看完了以下這篇文章後

http://easy-intro-world1.blogspot.com/2011/08/dev-c.html

雖然知道DEV-C++是一套不能用的工具,

但還是忍不住想知道,到底是廢在那兒?

我看乾脆再使用另一套工具好了!

這樣兩邊使用下來,就知道原因了~

很無聊的我!!XD

C筆記-#include(檔案的含入)

#include <stdio.h>
#include <stdlib.h>
#include "def.h"
int main(int argc, char *argv[])
{
  printf("PI=%2.5f\n",PI);
  printf("a+b=%d\n",a+b);
  system("PAUSE");
  return 0;
}

--def.h的檔案內容--
#define PI 3.14159
#define a 10
#define b 20
因為很久沒接觸了,所以失憶了很久,這段語法,看起來很簡單沒錯,但是花了我很久的時間才悟出來!!
原因就是卡在這裡#include "def.h"
因為我使用的工具是Dev-C++,所以上網找了很多資料,才了解怎麼弄!

以下是我的記錄:

1、執行結果:

2、#include "def.h"  去那設定??

◎去"檔案/開新檔案/原始碼"開立一個專案將檔名命為:def,副檔名選擇.h
    因為我的DEV-C++是英文版的,所以則為" File/New/Source File "。
◎將"def.h檔"存在專案所在的位置內

編譯下去就通 了!!真是太妙了,這麼簡單的一點點東西,我竟然可以搞這麼久~