code.club

 找回密碼
 立即註冊
搜索
樓主: enter
打印 上一主題 下一主題

基本重要觀念筆記

[複製鏈接]
樓主
發表於 2015-6-3 00:00:05 | 顯示全部樓層
本帖最後由 return 於 2015-6-3 00:31 編輯

#include <stdio.h>
#include <stdlib.h>

int main(void){
        printf("%d\n",sizeof(char));// 1
        printf("%d\n",sizeof('k'));// 4, 因為將'k'先變為ASKII碼的數字,故視為 int
        printf("%d\n",sizeof(2)); // 4
        printf("%d\n",sizeof(int)); // 4
        printf("%d\n",sizeof(long)); // 8
        printf("%d\n",sizeof(2L)); // 8, 2是常數但給予 long 型態
        printf("%d\n",sizeof(float)); // 4
        printf("%d\n",sizeof(2.3f)); // 4
        printf("%d\n",sizeof(2.3));        // 8, 後面不特別標明是float則有小數點一律給予 double 型態
        printf("%4.2f\n",23.456);// 五捨六入
        printf("%4.2f\n",23.455);// 五捨六入
        printf("%3.2f, %3.2f, %3.2f\n",1.234, 1.235, 1.236); // 四捨五入
        printf("%3.2f, %3.2f, %3.2f\n",1.244, 1.245, 1.246); // 四捨五入
        printf("%3.2f, %3.2f, %3.2f\n",1.254, 1.255, 1.256); // 五捨六入

                return 0;
        }
回復 支持 反對

使用道具 舉報

沙發
發表於 2016-2-17 15:11:30 | 顯示全部樓層
union的大小是以所設定的成員最大者為主。但 string 型別似乎不能用在 union 之中。
回復 支持 反對

使用道具 舉報

板凳
發表於 2016-3-31 22:43:53 | 顯示全部樓層
本帖最後由 return 於 2016-3-31 23:24 編輯

一般陣列都至少要先給予陣列大小或者直接給予初值的元素。但如果用指標似乎就不用做前述的動作也能執行?

例如

int*arr;
int i=0;

for(i=0;i<20;i++)
cin>>arr;

這樣就可以不用先給陣列大小,而且能彈性調整。

不知是否有什麼隱藏的問題和後果在裡面呢?

以上目前僅在 macpro 電腦裡的 coderunner 裡行得通,在 pc上的其他編繹器都有問題。

顯然還是要在執行前有一個size的給予,例如 arr = new int[6]; 之類的。
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|手機版|Archiver|code.club  

GMT+8, 2024-5-3 02:18 , Processed in 0.081627 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表