C言語をやりたいんですが
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2007/12/23(日) 02:35:09 まずなにやったらいいの?
2008/01/25(金) 09:51:55
>>68
やなこった。ばーか。
やなこった。ばーか。
2008/01/25(金) 15:30:22
開発環境の構築
Hallo World
変数型
演算子
代入演算子
比較演算子
基本的な入出力
関数
プリプロセッサ
配列
ポインタ
ポインタ渡し
参照渡し
メモリの確保/解放
構造体
文字列
文字コード
文字入出力
ファイル入出力
多次元配列
マクロ
共用体/列挙体
コマンドライン引数
バブルソート
FIFO
FILO
文字列検索
Hallo World
変数型
演算子
代入演算子
比較演算子
基本的な入出力
関数
プリプロセッサ
配列
ポインタ
ポインタ渡し
参照渡し
メモリの確保/解放
構造体
文字列
文字コード
文字入出力
ファイル入出力
多次元配列
マクロ
共用体/列挙体
コマンドライン引数
バブルソート
FIFO
FILO
文字列検索
2008/01/25(金) 16:23:08
>Hallo World
面白い
面白い
72 ◆nullpop./c
2008/01/26(土) 08:29:26 >>1おはよう。できたかな?
模範解答を示す。
長いので、スレをまたぐが。
#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
typedef struct tab_sex_stack{
char *data;
int size;
struct tab_sex_stack *tugi;
} STACK;
STACK *o721 = NULL;
模範解答を示す。
長いので、スレをまたぐが。
#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
typedef struct tab_sex_stack{
char *data;
int size;
struct tab_sex_stack *tugi;
} STACK;
STACK *o721 = NULL;
73 ◆nullpop./c
2008/01/26(土) 08:29:48 int pop(void *data){
STACK *sp;
int size;
if (data == NULL) return -4;
if (o721 == NULL) {
return 0;
}
size = o721->size;
memcpy(data, o721->data,size);
sp = o721->tugi;
free(o721->data);
free(o721);
o721 = sp;
return size;
}
int push(void *data, int size){
STACK *sp;
if (data == NULL || size <= 0) return -4;
sp = o721;
o721 = malloc(sizeof(STACK));
if (o721 == NULL) return 0;
o721->data = malloc(size);
memcpy(o721->data, data, size);
o721->size = size;
o721->tugi = sp;
return 32;
}
STACK *sp;
int size;
if (data == NULL) return -4;
if (o721 == NULL) {
return 0;
}
size = o721->size;
memcpy(data, o721->data,size);
sp = o721->tugi;
free(o721->data);
free(o721);
o721 = sp;
return size;
}
int push(void *data, int size){
STACK *sp;
if (data == NULL || size <= 0) return -4;
sp = o721;
o721 = malloc(sizeof(STACK));
if (o721 == NULL) return 0;
o721->data = malloc(size);
memcpy(o721->data, data, size);
o721->size = size;
o721->tugi = sp;
return 32;
}
74 ◆nullpop./c
2008/01/26(土) 08:30:31 main(){
auto char eros[200];
int meko;
int gane;
DWORD timmer = GetTickCount();
push("aho", 4);
push("baka", 5);
gane = 0721;
push(&gane, 4);
pop(&meko);
printf("%d\n\n", meko);
pop(eros);
puts(eros);
pop(eros);
puts(eros);
pop(eros);
puts(eros);
/* EOF */
auto char eros[200];
int meko;
int gane;
DWORD timmer = GetTickCount();
push("aho", 4);
push("baka", 5);
gane = 0721;
push(&gane, 4);
pop(&meko);
printf("%d\n\n", meko);
pop(eros);
puts(eros);
pop(eros);
puts(eros);
pop(eros);
puts(eros);
/* EOF */
2008/01/26(土) 11:22:51
8進定数を10進出力している馬鹿発見。
77デフォルトの名無しさん
2008/01/27(日) 02:17:272008/01/27(日) 09:21:57
つぎは、 nullpop 君による、プログラム72 に出てくる型がいかに 65 の説明の通りか。
つまり BASIC とさほど変わってないかの説明です。
つまり BASIC とさほど変わってないかの説明です。
80デフォルトの名無しさん
2008/01/27(日) 14:08:51 今からC言語覚えようってセンスがもう........
81デフォルトの名無しさん
2008/01/27(日) 14:10:55 >>80
マルチか
C言語を教えてください!!
http://pc11.2ch.net/test/read.cgi/prog/1201319713/
23 名前:仕様書無しさん[] 投稿日:2008/01/27(日) 14:07:49
今からC言語覚えようってセンスがもう........
マルチか
C言語を教えてください!!
http://pc11.2ch.net/test/read.cgi/prog/1201319713/
23 名前:仕様書無しさん[] 投稿日:2008/01/27(日) 14:07:49
今からC言語覚えようってセンスがもう........
2008/01/27(日) 14:31:11
2008/01/27(日) 14:32:44
そんなにアセンラず、落ち着いて書き込め。
84デフォルトの名無しさん
2008/01/27(日) 14:48:342008/01/27(日) 17:57:18
アセンブラ必要か?
組み込み系でもいろいろあるからな。
組み込み系でもいろいろあるからな。
2008/01/27(日) 19:25:24
今はもう組み込みでもCばっかりだな。
だが作法が他とは全然違う罠。
だが作法が他とは全然違う罠。
2008/01/27(日) 21:19:13
88デフォルトの名無しさん
2008/01/27(日) 21:47:31 アセンブラとコンパイラの区別が付かない人は引っ込んでて
2008/01/27(日) 22:54:00
うわー
2008/01/28(月) 02:20:03
http://www.python.jp/doc/release/tut/node5.html
たまたまpythonがインストールされてインタプリタ起動したんだけどすごいね。昔のN88Basicみたいに簡単に使える。
本当は>>>なんだけど書き込みでエラーになるんで削除。
C:\Airblade-1.3.2\python>python
Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
> 2+2
4
> (50-5*6)/4
5
> 7/3
2
> 7/-3
-3
> width = 20
> height = 5*9
> width * height
900
> x = y = z = 0 # x と y と z をゼロにする
> x
0
> 3 * 3.75 / 1.5
7.5
> 7.0 / 2
3.5
> word = 'Help' + 'A'
> word
'HelpA'
> word[0:2]
'He'
> word[2:4]
'lp'
たまたまpythonがインストールされてインタプリタ起動したんだけどすごいね。昔のN88Basicみたいに簡単に使える。
本当は>>>なんだけど書き込みでエラーになるんで削除。
C:\Airblade-1.3.2\python>python
Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
> 2+2
4
> (50-5*6)/4
5
> 7/3
2
> 7/-3
-3
> width = 20
> height = 5*9
> width * height
900
> x = y = z = 0 # x と y と z をゼロにする
> x
0
> 3 * 3.75 / 1.5
7.5
> 7.0 / 2
3.5
> word = 'Help' + 'A'
> word
'HelpA'
> word[0:2]
'He'
> word[2:4]
'lp'
2008/01/28(月) 10:17:28
92デフォルトの名無しさん
2008/01/28(月) 11:01:57 当たり前って言い方は詐欺的だろ。
確かにPythonを使うのは当たり前かもしれないが、Phthon使う前はなかなかない。
コマンド入力で答えが返るのはDOSプロンプトでもあるが、制約が多くて不自由だし。
スクリプトはどこにでもあるが、1行ずつ実行できるようなのはあまりない。
少なくとも3Dゲームがぐりぐり動くようなのは、ライブラリが優れてるのか知らないが見たことない。
Flashプレーヤーですら3Dっぽく見えても2次元動画だったりするし。
当たり前って言うならどんな環境を知ってるのか教えて欲しいね。
確かにPythonを使うのは当たり前かもしれないが、Phthon使う前はなかなかない。
コマンド入力で答えが返るのはDOSプロンプトでもあるが、制約が多くて不自由だし。
スクリプトはどこにでもあるが、1行ずつ実行できるようなのはあまりない。
少なくとも3Dゲームがぐりぐり動くようなのは、ライブラリが優れてるのか知らないが見たことない。
Flashプレーヤーですら3Dっぽく見えても2次元動画だったりするし。
当たり前って言うならどんな環境を知ってるのか教えて欲しいね。
2008/01/28(月) 11:27:42
はぁ? MATLABにしろそのクローンのOctaveにしろ、インタラクティブな環境はご存じないのですか?
それ自身がインタラクティブな環境で実装されている言語だって色々あるし。
それとも単に「Pythonすげー」って言いたいだけ?
それ自身がインタラクティブな環境で実装されている言語だって色々あるし。
それとも単に「Pythonすげー」って言いたいだけ?
2008/01/28(月) 11:30:19
やり取りがあまりにも高度すぎて眩暈がしてきたよ・・・
いちいち突っかかることなのか?
いちいち突っかかることなのか?
95デフォルトの名無しさん
2008/01/28(月) 11:43:02 >"for"ループを使用することなくベクトルや行列の操作を行っている
>これらの短所にも関わらず、MATLAB は依然多くの科学技術計算で用いられている。
すごいけど
>完全な互換性や最新版のMATLABを得るためには、製品を購入する必要がある。
>結果的に、MATLABの利用者はベンダの囲い込みに属することとなる。
囲い込みしてるのが当たり前ってどういう神経してるんだか。
使う可能性が1%もないのに勉強しろって?
死ねば?
>これらの短所にも関わらず、MATLAB は依然多くの科学技術計算で用いられている。
すごいけど
>完全な互換性や最新版のMATLABを得るためには、製品を購入する必要がある。
>結果的に、MATLABの利用者はベンダの囲い込みに属することとなる。
囲い込みしてるのが当たり前ってどういう神経してるんだか。
使う可能性が1%もないのに勉強しろって?
死ねば?
2008/01/28(月) 11:45:16
97デフォルトの名無しさん
2008/01/28(月) 11:46:172008/01/28(月) 13:19:23
馬鹿が居る。
2008/01/28(月) 13:28:56
ほんとだ
>>98に居るな
>>98に居るな
100デフォルトの名無しさん
2008/01/28(月) 18:53:38 総括すると、みんなCが大好きってことだな
101厨房<丶`∀´> ◆Uol9ceBo4s
2008/01/28(月) 19:44:57 喧嘩はやめようぜ。
102デフォルトの名無しさん
2008/01/28(月) 22:06:01 ししょー
103デフォルトの名無しさん
2008/02/29(金) 21:04:47 このスレおわったのか?
104デフォルトの名無しさん
2008/04/07(月) 02:07:56 はじめて "hello world" が表示された時の感動を俺は忘れない
105104
2008/04/15(火) 22:31:50 ごめん忘れたみたい
106104
2008/04/17(木) 17:44:58 今少しだけ思い出した
107デフォルトの名無しさん
2008/06/17(火) 00:12:01 はじめての言語は
MSXのBASICと言うのは
俺のような30代・・・
Cといえばturbo C
これも・・
MSXのBASICと言うのは
俺のような30代・・・
Cといえばturbo C
これも・・
108デフォルトの名無しさん
2008/06/17(火) 07:33:03 日本語でおk
109デフォルトの名無しさん
2008/06/18(水) 09:11:43110デフォルトの名無しさん
2008/06/27(金) 02:09:07 ファミコン世代
ファミリーBASICも30代
ファミリーBASICも30代
111デフォルトの名無しさん
2008/06/28(土) 19:03:58 TurboCもいいけど一番お世話になったのはLSI-C試食版
112デフォルトの名無しさん
2008/07/06(日) 19:47:08 同じくだ。
PC98時代(DOS)からWindows98時代までお世話になったw
PC98時代(DOS)からWindows98時代までお世話になったw
113デフォルトの名無しさん
2008/08/20(水) 21:10:12 学校では98でturboCしたが
メモリに直に数値入れるイメージしかない
通信といえばBBSの時代・・・
メモリに直に数値入れるイメージしかない
通信といえばBBSの時代・・・
114デフォルトの名無しさん
2008/09/01(月) 03:35:35 ほしゅ
115デフォルトの名無しさん
2008/09/01(月) 04:34:09 XCやGCCで育ったのも30代。
無料でついてきたマクロアセンブラで遊んだのも30代。
無料でついてきたマクロアセンブラで遊んだのも30代。
116デフォルトの名無しさん
2008/09/01(月) 04:53:24 俺漏れも
マニュアル読み尽くしてreadとfreadは機能がだぶってるじゃんか
とかいうあたりからunixへ入っていった
あとkmyaccとか2005年あたりにさりげなく
バージョンアップしてんの知ってた?
マニュアル読み尽くしてreadとfreadは機能がだぶってるじゃんか
とかいうあたりからunixへ入っていった
あとkmyaccとか2005年あたりにさりげなく
バージョンアップしてんの知ってた?
117デフォルトの名無しさん
2008/09/01(月) 08:59:29 ヤック・デカルチャー?
118デフォルトの名無しさん
2008/09/02(火) 18:33:52 ↑
そのTV・劇場版マクロスを
視聴した小学生も今は30代
そのTV・劇場版マクロスを
視聴した小学生も今は30代
119デフォルトの名無しさん
2008/09/02(火) 19:10:00120デフォルトの名無しさん
2008/09/02(火) 19:22:31 Cスレにぴったりの言葉を思いついた
「Yacc de Culture.」
(訳: 構文解析やらないか)
「Yacc de Culture.」
(訳: 構文解析やらないか)
121デフォルトの名無しさん
2008/09/12(金) 22:35:23 試食版じゃないLSI-Cを使ってると込みたことある人はどんだけいるのだろう。
122デフォルトの名無しさん
2008/09/12(金) 22:43:07 はいよ。使ってるところを見たというより、使ってた。
尤も、製品買ったのにSmallモデルしか使った記憶が無い罠。
まぁ、試食版には無いライブラリのソースは見られたけど。
尤も、製品買ったのにSmallモデルしか使った記憶が無い罠。
まぁ、試食版には無いライブラリのソースは見られたけど。
123デフォルトの名無しさん
2008/11/28(金) 07:30:28 そだね。とりあえずvoltaileにでもなってもらおか
124デフォルトの名無しさん
2008/11/28(金) 19:12:18 BasicMagazineの投稿に憧れ
マシン語なら日高の本を買い
・
・
・
いまどきC言語はnet検索で終了?
マシン語なら日高の本を買い
・
・
・
いまどきC言語はnet検索で終了?
125デフォルトの名無しさん
2008/11/28(金) 20:51:57 ●●●
● ●
●
●
● ●
●●●
● ●
●
●
● ●
●●●
126デフォルトの名無しさん
2008/11/28(金) 23:58:52 誰かさ、オンラインコンパイラーってやつを作ってみてよ。
オンラインで YoutubeのSWFを音声やMPEGに変換するサイトがあるじゃん。
それと同じように Cソースを 実行形式に自動変換してくれるサイト作ってよ。
オンラインで YoutubeのSWFを音声やMPEGに変換するサイトがあるじゃん。
それと同じように Cソースを 実行形式に自動変換してくれるサイト作ってよ。
127デフォルトの名無しさん
2008/11/29(土) 23:35:42 C言語での「ウィンドウ作成」ってできるんですか?
できればサンプルソース書いていただきたいのですが。
ボーランドでソース書いてもエラー出て まいっちんぐマチコ先生でつ。
できればサンプルソース書いていただきたいのですが。
ボーランドでソース書いてもエラー出て まいっちんぐマチコ先生でつ。
128デフォルトの名無しさん
2008/11/30(日) 05:04:18 まいっちんぐマチコ
これ知っている人が40代以上である確率は非常に高いと
思われ。
これ知っている人が40代以上である確率は非常に高いと
思われ。
129デフォルトの名無しさん
2008/11/30(日) 10:44:48 >>124
その心に燃える闘魂が宿っていればnet検索で何も問題はない。
その心に燃える闘魂が宿っていればnet検索で何も問題はない。
130デフォルトの名無しさん
2008/12/01(月) 16:50:21131デフォルトの名無しさん
2008/12/02(火) 09:52:24 いやーん
132デフォルトの名無しさん
2008/12/05(金) 03:51:54133うゆ ◆e6.oHu1j.o
2008/12/05(金) 03:59:13 ほらよ!
#include <windows.h>
main(){
WNDCLASS wcex={0,DefWindowProc,0,0,0,0,0,0,0," "};
RegisterClass(&wcex);
ShowWindow(CreateWindow(" ",0,1,300,300,200,200,0,0,0,0),1);
Sleep(3000);
}
#include <windows.h>
main(){
WNDCLASS wcex={0,DefWindowProc,0,0,0,0,0,0,0," "};
RegisterClass(&wcex);
ShowWindow(CreateWindow(" ",0,1,300,300,200,200,0,0,0,0),1);
Sleep(3000);
}
134デフォルトの名無しさん
2008/12/05(金) 04:08:25135デフォルトの名無しさん
2008/12/05(金) 05:14:19 解決しても
また次の問題をかかえてくるに
8000ペリカ
また次の問題をかかえてくるに
8000ペリカ
136デフォルトの名無しさん
2008/12/06(土) 00:13:08 >>132
ペゾルドのProgramming WindowsなどのまともなWindowsプログラミングの入門書読め。
ペゾルドのProgramming WindowsなどのまともなWindowsプログラミングの入門書読め。
137デフォルトの名無しさん
2008/12/06(土) 05:50:47 こんにちわ 世界!
138デフォルトの名無しさん
2008/12/06(土) 10:18:13 さようなら 世界!
139デフォルトの名無しさん
2008/12/06(土) 10:24:13 スクールデイズ 最終話か!
140デフォルトの名無しさん
2008/12/06(土) 10:58:40 printf("Nice boat.\n");
141デフォルトの名無しさん
2008/12/09(火) 13:41:44 中に誰もいませんよ!
#ifndef OTL
#define OTL
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char *str;
ulong length;
} OTLSTRING;
#endif
#define TEST1
main()
{
OTLSTRING orz;
}
#endif
#define OTL
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char *str;
ulong length;
} OTLSTRING;
#endif
#define TEST1
main()
{
OTLSTRING orz;
}
#endif
143デフォルトの名無しさん
2008/12/15(月) 23:58:45 なにこのゆとりスレ・・・
144デフォルトの名無しさん
2008/12/18(木) 03:02:36 ゆっとりしていってね!
145デフォルトの名無しさん
2008/12/18(木) 21:05:26 BASIC→マシン語
Cのはいる余地なしなのが30代と思ったが・・そうでもないのか
Cのはいる余地なしなのが30代と思ったが・・そうでもないのか
146デフォルトの名無しさん
2008/12/19(金) 12:08:14 C使えなかったんですか?貧乏だったんですね。
147デフォルトの名無しさん
2008/12/19(金) 21:00:22 パソコンは8bitで過去の栄光のmkUSR以降だったんです。
ガッコで98FAでturboCを初めてつかったんです。
そのときの参考書はお約束の Hello world の表示からポインタの説明までだったんです。
インターネットが流行る前のBBSの時代だったんです。
ガッコで98FAでturboCを初めてつかったんです。
そのときの参考書はお約束の Hello world の表示からポインタの説明までだったんです。
インターネットが流行る前のBBSの時代だったんです。
148デフォルトの名無しさん
2008/12/20(土) 01:23:36 ひとついえるのは
汎用性のないプログラムはゴミ
汎用性のないプログラムはゴミ
149デフォルトの名無しさん
2008/12/20(土) 07:18:36 汎用性のある会社員でもゴミになる時代
150デフォルトの名無しさん
2008/12/21(日) 10:19:49 金もうかるシステムをつくる経営者にならんとね
151デフォルトの名無しさん
2008/12/25(木) 09:13:39 最近「○○言語やりたいんですが、何をすれば?」みたいなのが多い。
逆だろ?
「××したいんだけど、○○言語ではどうすればいい?」
と聞くべきだろ?
何で自分がする(したい)事を他人から指示されなきゃならんの?
目的があれば、手段(言語)なんてなんでもいいよな?
と思うMZ80B世代のおっさんでした。
逆だろ?
「××したいんだけど、○○言語ではどうすればいい?」
と聞くべきだろ?
何で自分がする(したい)事を他人から指示されなきゃならんの?
目的があれば、手段(言語)なんてなんでもいいよな?
と思うMZ80B世代のおっさんでした。
152デフォルトの名無しさん
2009/02/14(土) 17:21:06 素人か上級釣り士ってだけのこと
子供は保護されてっから無意識に自分を中心にして回ってると思いがちなんだよ
掲示板も自分のため、ホームページのじゃんじゃんカウンタ回る、最強、天才、うんこちんこ大好き
子供は保護されてっから無意識に自分を中心にして回ってると思いがちなんだよ
掲示板も自分のため、ホームページのじゃんじゃんカウンタ回る、最強、天才、うんこちんこ大好き
153デフォルトの名無しさん
2009/02/14(土) 17:31:15 そしてまんこも
154デフォルトの名無しさん
2009/02/14(土) 17:55:35 C言語ができることがトレンディだった時代も・・・あったと思う
二十年くらい前に
二十年くらい前に
>>1はどうしているんだろう?
for文 (1)
繰り返しにはfor文を使う。
for(初期化;条件;処理){
ループ処理
}
for (i=0;i<10:i=i+1){
処理
}
これが基本形だ。
for(i=0,j=5,k=20;l==5;i+=j);
このような書き方もできる
繰り返しにはfor文を使う。
for(初期化;条件;処理){
ループ処理
}
for (i=0;i<10:i=i+1){
処理
}
これが基本形だ。
for(i=0,j=5,k=20;l==5;i+=j);
このような書き方もできる
for文 (2)
繰り返し途中に抜ける場合、
continueとbreakの12つがある・
continueはforの頭にもどりbreakはループを抜ける。
for(c=0;c<20;c++){
printf("%d\r\n", c);
if (c == 10) {
c = 15;
continue;
}
if (c == 18) break;
}
繰り返し途中に抜ける場合、
continueとbreakの12つがある・
continueはforの頭にもどりbreakはループを抜ける。
for(c=0;c<20;c++){
printf("%d\r\n", c);
if (c == 10) {
c = 15;
continue;
}
if (c == 18) break;
}
for文 (3)
無限ループはwhile厨とfor厨、goto厨がいる。
私はわかりやすさの面からforを推奨する
for(;;) {
無限ループ
}
while(0==0) {
無限ループ
}
LOOPS:
無限ループ
goto LOOPS;
無限ループはwhile厨とfor厨、goto厨がいる。
私はわかりやすさの面からforを推奨する
for(;;) {
無限ループ
}
while(0==0) {
無限ループ
}
LOOPS:
無限ループ
goto LOOPS;
文字列処理(1/3)
Cのもじれつはナル文字 (N88BASICでいえばCHR$(0))
で終わるbyte型の配列だ。
"sex"はs,e,x,\0の4バイトになる。
文字列処理はsprintf関数を使う。
printfの出先を文字列のアドレスにしただけ。
char nakano_minako[666];
char *ppp;
ppp = &0[nakano_minako];
sprintf(nakano_minako, "sex is sex");
puts(ppp);
Cのもじれつはナル文字 (N88BASICでいえばCHR$(0))
で終わるbyte型の配列だ。
"sex"はs,e,x,\0の4バイトになる。
文字列処理はsprintf関数を使う。
printfの出先を文字列のアドレスにしただけ。
char nakano_minako[666];
char *ppp;
ppp = &0[nakano_minako];
sprintf(nakano_minako, "sex is sex");
puts(ppp);
文字列処理(2/3)
数値変換は
atoi,atof,atolを使うN88BAICのVAL関数とおなじ。
char timer_sex[] = "05:10:12";
int hh,mm,ss;
hh = atoi(&0[timer_sex]);
mm = atoi(&3[timer_sex]);
ss = atoi(&6[timer_sex]);
printf("%d - %d - %d \b\r\n\t", hh,mm,ss);
数値変換は
atoi,atof,atolを使うN88BAICのVAL関数とおなじ。
char timer_sex[] = "05:10:12";
int hh,mm,ss;
hh = atoi(&0[timer_sex]);
mm = atoi(&3[timer_sex]);
ss = atoi(&6[timer_sex]);
printf("%d - %d - %d \b\r\n\t", hh,mm,ss);
文字列処理(3/3)
文字列は配列だから、簡単に暗号化できる
char sex[] = "sex for your 072";
while (*sex++) {
*sex += 22;
}
文字列は配列だから、簡単に暗号化できる
char sex[] = "sex for your 072";
while (*sex++) {
*sex += 22;
}
関数ポインタ(1/3)
C言語は関数ポインタを使って処理を読みやすくできる
typedef int (*type_is_sex)(int sex, int o72);
type_is_sex sex[3];
sex[0] = printf;
sex[1] = sprintf;
sex[2] = fprintf;
C言語は関数ポインタを使って処理を読みやすくできる
typedef int (*type_is_sex)(int sex, int o72);
type_is_sex sex[3];
sex[0] = printf;
sex[1] = sprintf;
sex[2] = fprintf;
staticの重要性(1/1)
C言語はstaticとexternという重要なキワードが存在する
グロバル変数にstatic int g_sex;
としあ場合、ほかのファイルからは見えなくなる
関数ないで
int f(void *d){
static s_sm;
...
}
とした場合、関数を抜けても値を保持するようになる。
externはほかのファイルに変数がありますよを意味する。
-------sex1.c-------------
int g_sex;
--------------------------
-------sex2.c-------------
extern int g_sex;
printf("%d",g_sex);
-------------------------
externはあくまで外部にあることを意味するので、
多重適宜してはいけない
C言語はstaticとexternという重要なキワードが存在する
グロバル変数にstatic int g_sex;
としあ場合、ほかのファイルからは見えなくなる
関数ないで
int f(void *d){
static s_sm;
...
}
とした場合、関数を抜けても値を保持するようになる。
externはほかのファイルに変数がありますよを意味する。
-------sex1.c-------------
int g_sex;
--------------------------
-------sex2.c-------------
extern int g_sex;
printf("%d",g_sex);
-------------------------
externはあくまで外部にあることを意味するので、
多重適宜してはいけない
プリプロセッサ (1/5)
#のある命令がいくつかある。
#include
#define
#if
#else
#endif
#pragma
これらはプリプロセッサといい、コンパイル前に行われる。
#includeは指定ファイルに置換される
#defineは単語置き換えを行う。
#if,else,endifは条件によってこんぱいるを帰る
#pragmaは重要だ。
#のある命令がいくつかある。
#include
#define
#if
#else
#endif
#pragma
これらはプリプロセッサといい、コンパイル前に行われる。
#includeは指定ファイルに置換される
#defineは単語置き換えを行う。
#if,else,endifは条件によってこんぱいるを帰る
#pragmaは重要だ。
プリプロセッサ (2/5)
#pragmaは重要だ。
#pragma onceとすることで多重インクルードを防ぐ。
------------monko.h------------
typedef int sex_i;
-------------------------------
もし、このmonko.hを複数のファイルが読んだら、
typedef多重のエラーになる。
ここで
------------monko.h------------
#pragma once
typedef int sex_i;
-------------------------------
とすれば、1階しか呼ばれない。
#pragmaは重要だ。
#pragma onceとすることで多重インクルードを防ぐ。
------------monko.h------------
typedef int sex_i;
-------------------------------
もし、このmonko.hを複数のファイルが読んだら、
typedef多重のエラーになる。
ここで
------------monko.h------------
#pragma once
typedef int sex_i;
-------------------------------
とすれば、1階しか呼ばれない。
プリプロセッサ (3/5)
#pragmaは重要だ。
#pragma packを使うことで構造体のあラインを調整できる。
#pragma pack(1)とすれば
以降の構造体が1バイトであラインされる(パデングなし)
#pragma pack(4)としたばあい、少々複雑だ。
typedef struct {
int x;
char c1;
char c2;
} SEXOS;
printf(%d", sizeof SEXOS);
何バイトだろうか?
12バイトにはならず8バイトになる。
#pragmaは重要だ。
#pragma packを使うことで構造体のあラインを調整できる。
#pragma pack(1)とすれば
以降の構造体が1バイトであラインされる(パデングなし)
#pragma pack(4)としたばあい、少々複雑だ。
typedef struct {
int x;
char c1;
char c2;
} SEXOS;
printf(%d", sizeof SEXOS);
何バイトだろうか?
12バイトにはならず8バイトになる。
167 ◆nullpop./c
2009/05/05(火) 12:02:32 プリプロセッサ (4/5)
プリプロセッサによってコメントをネストできる
#ifdef SEC
#ifdef SEV
/* */
#else
#endif
#endif
プリプロセッサによってコメントをネストできる
#ifdef SEC
#ifdef SEV
/* */
#else
#endif
#endif
プリプロセッサ (5/5)
##演算子
#define pasta(front,end) front ## end
pasta(name,1)でname,1という文字記号が作られる
##演算子
#define pasta(front,end) front ## end
pasta(name,1)でname,1という文字記号が作られる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- サナエノミクスについて力説 積極的な財政出動で「所得増える 消費マインド上がる 税収増える」片山さつき財務大臣 ★3 [少考さん★]
- 中国軍機のレーダー照射1週間 駆け引き続く 中国、米のレッドライン模索 日本、米以外の同志国とも連携探る 米は対立から距離置く★2 [ぐれ★]
- 鈴木農相「おこめ券はお米しか買えないわけではない。例えば卵、味噌、しょうゆ、こうした購入に利用可能」 ★4 [Hitzeschleier★]
- 【芸能】粗品、日本テレビに苦言 客のレベルが「かなり低い。あいつら分かってない」「拍手したいだけやねん」 [冬月記者★]
- 【静岡】伊東市長選、前市議の杉本氏初当選 学歴詐称疑惑の田久保氏は及ばず 市長選3700万円、市議選6300万円の計1億円費やされる [ぐれ★]
- 【静岡】伊東市長選、田久保氏の敗北確実 元市議と元職が激戦 [ぐれ★]
- 国内生産制限・輸入制限(関税)頭おかしい。 [929852992]
- 助けて!!地元でテレビ番組の超絶美人のアナウンサーさんが退社した。゚(゚´Д`゚)゚。
- 生音はもちろん最高だけど、こういう打ち込みのブレイクビーツも最高ですよね
- 中国との関係に不安を感じる「66%」高市の中国への対応を評価する「57%」 [931948549]
- 地震
- 🖐( -᷄ὢ)今日は早めに寝るんで……
