linux 與window下c申請’變長’數組的疑問

在ubuntu下,用C寫下int main(){ int N=10; int a[N]; return 0;}編譯沒問題。但在window下用VS2008測試,出現問題:error C2057: 應輸入常量運算式error C2466: 不能分配常量大小為 0 的數組error C2133: “a”: 未知的大小原因:與作業系統無關,與編譯器相關,在指定使用C99的情況下支援。據說gun gcc 對標準c做了擴充,其中一個擴充就是變長數組。

C++編程思想讀書筆記-8常量

1 標頭檔裡的constconst預設為內部串連(internal linkage),僅在本檔案內可見.為了使const能夠被外部檔案所引用,必須明確把它定義成externextern const int x = 1; 這樣是是對常量做定義,而不是聲明.聲明是這樣的 extern const int i; 表示在其它地方有定義一個常量i;2

linux編程學習筆記(十) C語言中的函數隱式聲明

fun.cfloat fun(){return 1.234;}test.c#include <stdio.h>int main(){float a = fun();printf("%f\n",a);}gcc fun.c test.c  zhao@ubuntu:~/unix/4$ ./a.out 1067316160.000000發現得到的結果不僅是個整數 還是個很怪異的數字  並且編譯時間沒有報錯

C#網頁刷票器(實現代理IP投票)

和@陳宇翔的修行錄忙了一個星期寫了個刷票器來交軟體測試課的作業PPT不是很好傳,放到資源裡面去,PPT地址:源碼地址:http://download.csdn.net/detail/a8887396/5344103投票效果:刷票地址: (有效期間半年)http://mwangbobo.jingdianet.com/Default.aspx主要代碼:using System;using System.Collections.Generic;using

[老文章轉載]C#中使用指標

我想許多C程式員不願意學習Java的原因就是Java不支援指標,但是現在類似於Java的C#卻已經支援了指標,你可以使用unsafe關鍵字來告訴編譯器下面的函數或者代碼是不安全的。一旦你使用了unsafe,那麼你就可以在unsafe地區中使用指標。      程式1   using System;   class nish   {   unsafe static void Increment(int* p)   {    //increment the int pointed to by p  

C++Builder中取得命令列參數

用過C語言編程的人都知道,在DOS下的編程可以通過main函數的參數取得命令列參數的個數以及每個參數的字串,例如int main(int argv ,char

Visual C++中使用OLE DB讀寫SQL

在需要對資料庫進行操作時,OLE DB總是被認為是一種效率最高但最難的方法。但是以我最近使用OLE DB的經驗看來,OLE DB的效率高則高矣,但卻一點都不難。說它難恐怕主要是因為可參考的中文資料太少,為了協助以後需要接觸OLE DB的同行,我撰寫了這篇文章。本文包含如下內容:1. OLE DB寫資料庫;2. OLE DB讀資料庫;3. OLE DB對位元據(text、ntext、image等)的處理。首先來看看對SQL

分析注釋都非常詳細的 c++ 入門程式

以前在網上找來源程式,程式是找到了,但確沒什麼注釋和分析,看的一頭霧水,鑒於此,我自己寫了一點程式,希望對初學者有所協助   這些程式是我自己一個一個寫的,現拿出來讓和我一樣的初學者分享一下,用的是dev C++ 編譯,裡麵包括詳細的分析過程和代碼注釋,有兩個檔案,一個是c++/c 基礎的,另一個是基礎提高篇,我相信對初學者是有很大的協助的!  

C++異或運算在演算法中的經典運用

轉自:C++異或運算在演算法中的經典運用   “一個整型數組裡除了兩個數字之外,其他的數字都出現了兩次。請寫程式找出這兩個只出現一次的數字?”這是經典的演算法題,乍看這個題的思路特別多。   比如首先排序、然後在尋找不同的資料就能找到這兩個數字,這種實現方法的時間複雜度應該是在O(NlgN),因為比較排序的演算法最好的時間複雜度就是這樣。但是乍一看,這題就解決了,但是還沒有充分運用一個條件,絕大多數元素是成對出現的,這個條件的作用是什麼呢?

面試題總結 – C 語言 – 預先處理(preprocessor)

1. 用預先處理指令#define 聲明一個常數,用以表明1年中有多少秒(忽略閏年的問題)answer: SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL注釋: 我這裡想看到幾件事情:1, #define

《c和指標》–再談多維陣列

#include <stdio.h>int main(void){ int a[2][3]; printf("%p\n",a); printf("%d\n",sizeof(a)); printf("%p\n",a+1); printf("%d\n",sizeof(a+1)); printf("%p\n",*(a+1)); printf("%d\n",sizeof(*(a+1)));

《c和指標》筆記–八皇后問題

八皇后問題是一個以國際象棋為背景的問題:如何能夠在 8×8 的國際象棋棋盤上放置八個皇后,使得任何一個皇后都無法直接吃掉其他的皇后?為了達到此目的,任兩個皇后都不能處於同一條橫行、縱行或斜線上。一共有92種答案。c代碼實現如下:#include <stdio.h>#define SIZE 8static int board[SIZE][SIZE];void insertQueue(int row);void displayQueue();int checkConflict(int

《c和指標》筆記–不能小看了fopen的mode參數

r 開啟唯讀檔案,該檔案必須存在。r+具有讀寫屬性,從檔案頭開始寫,保留原檔案中沒有被覆蓋的內容。該檔案必須存在。w 開啟唯寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。 w+ 開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案。 a 以附加的方式開啟唯寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的內容會被保留。 a+

《c和指標》筆記–讓rand更隨機一點

在c語言中如果要擷取1~10的隨機數,那麼可能大部分人的想法都是通過以下代碼擷取:rand()%10+1;(雖然rand產生的是一個偽隨機數,但是這邊姑且認為他是真隨機的吧)但是產生1~10的機率真的是一樣的嗎?不是的,下面我們來分析以下。假如rand返回的最大值為105,那麼使用上面那種方法擷取的隨機數那麼產生1~6的機率要比產生7~10的機率要大,看出來了嗎?因為如果rand函數傳回值的範圍為0~99,那麼使用上面的方式產生1~10的機率是一樣的,但是,現在rand傳回值範圍為0~105,如

《c專家編程》筆記–bus error(匯流排錯誤)

在《C專家編程》中提到了匯流排錯誤bus error(core

c中字串的讀取的一個問題

最近在做川大的複試題,遇到一個小問題。發生了詭異的事情是關於 char c;c = getchar()或者char c;scanf("%c", &c); 這2個函數都可以從控制台擷取到輸入的字元,但是,需要說明的是。 如果出現提示,你輸入了一個字元

c# 播放Flash檔案

       記得在剛學delphi時,第一個程式就是一個播放flash的小軟體,當時好開心.      今天,我在C#中實現了這個小程式.      播放Flash動畫的原理是引用Flash的dll.用它來播放.      現在工具箱中添加這個控制項:    1.工具箱上點滑鼠右鍵,出現菜單,選擇 "Choose Items...",在出現的視窗選擇"Com components"選項卡,選擇Shockwave Flash

c#執行外部批處理(bat)檔案

雖然現在gui程式很多,但有時候還是需要批次程式來實現一些特殊的功能.這裡給出c#執行bat檔案的方法.         private void button1_Click(object sender, EventArgs e)        {            openFileDialog1.Filter = "mp3 檔案 (*.mp3)|*.mp3|bat 檔案 (*.bat)|*.bat|所有檔案 (*.*)|*.*";            openFileDialog1.De

Visual C++ 6.0使用MFC擷取網頁內容

今天想用MFC來儲存一個網頁的原始碼,以前都是用.Net來做的。查了一些資料後,簡單的做了一個。回放:1. 建立工程VC6 -> File -> New -> MFC(exe) 建立一個基於對話方塊的程式。不需要包含windows

湖南省第八屆大學生電腦程式設計競賽C題(UVA 12504)

題目連結:點擊開啟連結#include <iostream>#include <map>#include <string>using namespace std;map <string,string> my1,my2; //{a:3,b:4,c:10,f:6} {third:3,second:2}map <string,string>::iterator it,it2;string s1[105],s2[105],s3[105]

總頁數: 4314 1 .... 292 293 294 295 296 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.