實驗環境:
[jiang@eb50 ~]$ uname -a
linux eb50
2.6.18-348.el5 #1 smp wed nov 28 21:22:00 est 2012 x86_64 x86_64 x86_64 gnu/linux
gcc 版本 4.1.2
20080704 (red
hat4.1.2-54)
先看看c的:
#include
#include
time_t mt = time(null);
int foo()
int x = foo();
int main()
[jiang@eb50 ~]$ gcc
-omain
main
.cmain
.c:4: 錯誤:初始值設定元素不是常量
main
.c:11: 錯誤:初始值設定元素不是常量
再來看看c++的:
#include
#include
using
namespace
std;
time_t mt = time(null);
int foo()
int x = foo();
int main()
[jiang@eb50 ~]$ g++ -o main main.c
[jiang@eb50 ~]$ ./main
frijun
2316:30
:262017
10
再試試用g++編譯那個c檔案:
[jiang@eb50 ~]$ g++ -o main main.c
[jiang@eb50 ~]$ ./main
frijun
2316:31
:042017
10
==通過了…
思考個問題:
#include
#include
#include
using
namespace
std;
time_t mt1 = time(null);
unsigned
int r1 = sleep(1);
time_t mt2 = time(null);
unsigned
int r2 = sleep(1);
time_t mt3 = time(null);
int main()
是否是有序呼叫的?可以保證嗎? 未初始化全域性變數
未初始化全域性變數,這名字就很直白,就是 c 程式中定義成全域性作用域而又沒有初始化的變數,我們知道這種變數在程式執行後是被自動初始化為 全0 的。編譯器編譯的時候會將這類變數收集起來集中放置到 bss 段中,這個段只記錄了段長,沒有實際上的內容 全是0,沒必要儲存 在程式被裝載時作業系統會為它分配...
關於未初始化全域性變數
前幾天發現未初始化全域性變數一些特性,後來在一篇部落格上發現有人說過這個問題 這是原博文位址 blog.csdn.net liuqiaoyu080512 article details 8455652 然後結合原博文,自己又做了幾個實驗 以下算是自己實驗一遍以後的總結 首先,自己曾經以為未初化的全域...
C語言全域性變數的初始化
本意是想定義乙個全域性結構體變數,並設定其成變數的值。typedef struct a t a t a a.a 1 error expected asm or attribute before token a.b 2 error expected asm or attribute before to...