C言語をやりたいんですが
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2007/12/23(日) 02:35:09 まずなにやったらいいの?
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という文字記号が作られる
ポインタ渡し?参照渡し?(1/2)
Cの関数呼出はすべて値私だ。
引数はコピーを受け取り、元の値には影響しない
#define function int
function fera(int longchinko){
longchinko = 17;
}
function main(){
short hokei=4;
fera(hokei);
printf("%d",hokei);
}
アドレスを渡すことで。引数の指す値を変更でくいる
#define function int
function fera(int *longchinko){
*longchinko = 17;
}
function main(){
short hokei=4;
fera(&hokei);
printf("%d",hokei);
}
Cには参照渡しは無い。
だから前述のポインタを使った参照渡しもどきしかできぬ。
Cの関数呼出はすべて値私だ。
引数はコピーを受け取り、元の値には影響しない
#define function int
function fera(int longchinko){
longchinko = 17;
}
function main(){
short hokei=4;
fera(hokei);
printf("%d",hokei);
}
アドレスを渡すことで。引数の指す値を変更でくいる
#define function int
function fera(int *longchinko){
*longchinko = 17;
}
function main(){
short hokei=4;
fera(&hokei);
printf("%d",hokei);
}
Cには参照渡しは無い。
だから前述のポインタを使った参照渡しもどきしかできぬ。
ポインタ渡し?参照渡し?(2/2)
引数でポインタそのものを変更するには
ポインタのポインタを使う
void mallocpp(char *pp){
*pp = malloc(INT_MAX);
}
main(){
char *po;
mallocpp(&po);
stlcpy(po, "sex and them!");
free(po);po = 0;
}
引数でポインタそのものを変更するには
ポインタのポインタを使う
void mallocpp(char *pp){
*pp = malloc(INT_MAX);
}
main(){
char *po;
mallocpp(&po);
stlcpy(po, "sex and them!");
free(po);po = 0;
}
コマンドライン引数(1/1)
ffmpegのようなソフトウェアはコマンドライン引数を受け付けておる
ffmpeg -i "千と千尋の神隠し.vob" -map 0.5:0.2 -vcodec libxvid -qscale 4 -acodec libmp3lame -ab 192k -ac 2 sex.avi
main関数は2つの引数をとることができ、
次のように定義すればコマンドライン引数を取得できる。
main(int chokin, char **cap)
{
while(chokin--) puts(cap[chokin]);
}
ffmpegのようなソフトウェアはコマンドライン引数を受け付けておる
ffmpeg -i "千と千尋の神隠し.vob" -map 0.5:0.2 -vcodec libxvid -qscale 4 -acodec libmp3lame -ab 192k -ac 2 sex.avi
main関数は2つの引数をとることができ、
次のように定義すればコマンドライン引数を取得できる。
main(int chokin, char **cap)
{
while(chokin--) puts(cap[chokin]);
}
FIFO、FILO(1/2)
FIFO,FILOはデータ構造。
First In Fast Out、割き入れ先出し
First In Last Out、先入れ後出し
のことだ。
typedef struct {
void (*pfin)(int);
int (*pfout)(void);
} CHINPO_IO;
//FIFO function
int fifobuf[100];
int fifoptr = fifobuf;
void fifoin(int i){
*fifoptr++;
}
int fifoout(void){
return *fifoptr--;
}
main(){
CHINPO_IO ci[2];
ci[0].pfin = fifoin;
ci[1].pfout = fifoout;
ci[0].pfin(1);ci[0].pfin(10);ci[0].pfin(100);
printf("%d %d %d\n", ci[0].pfout(), ci[0].pfout(), ci[0].pfout());
}
FIFO,FILOはデータ構造。
First In Fast Out、割き入れ先出し
First In Last Out、先入れ後出し
のことだ。
typedef struct {
void (*pfin)(int);
int (*pfout)(void);
} CHINPO_IO;
//FIFO function
int fifobuf[100];
int fifoptr = fifobuf;
void fifoin(int i){
*fifoptr++;
}
int fifoout(void){
return *fifoptr--;
}
main(){
CHINPO_IO ci[2];
ci[0].pfin = fifoin;
ci[1].pfout = fifoout;
ci[0].pfin(1);ci[0].pfin(10);ci[0].pfin(100);
printf("%d %d %d\n", ci[0].pfout(), ci[0].pfout(), ci[0].pfout());
}
173デフォルトの名無しさん
2009/05/07(木) 14:52:04 ありがとう
174デフォルトの名無しさん
2009/05/07(木) 18:42:21 文字列検索(1/4)
文字列検索にはstrstr関数を使う
char tx[] = "sex if";
if (strstr(sex, " i")){
みつかった
}else{
ない
}
Boyer-Mooer法については後述する
文字列検索にはstrstr関数を使う
char tx[] = "sex if";
if (strstr(sex, " i")){
みつかった
}else{
ない
}
Boyer-Mooer法については後述する
176 ◆nullpop./c
2009/05/07(木) 23:33:34 文字列検索(2/4)
/*奥村晴彦先生のを最適化*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
int sweets(unsigned char *text, unsigned char *pattern){
int i, j, k, len;
static int skip[UCHAR_MAX + 1];
unsigned char c, tail;
if ((len = strlen(pattern)) == 0) return -1;
tail = pattern[len-1];
if (len == 1) {
if ((i = (int)strchr(text, tail)) != 0) return i-(int)text;
} else {
memset(skip, len, UCHAR_MAX+1);
for (i = 0; i < len - 1; i++)
skip[pattern[i]] = len - 1 - i;
while ((c = text[i]) != 0) {
if (c == tail) {
j = len - 1; k = i;
while (pattern[--j] == text[--k])
if (j == 0) return k;
}
i += skip[c];
}
}
return -1;
}
/*奥村晴彦先生のを最適化*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
int sweets(unsigned char *text, unsigned char *pattern){
int i, j, k, len;
static int skip[UCHAR_MAX + 1];
unsigned char c, tail;
if ((len = strlen(pattern)) == 0) return -1;
tail = pattern[len-1];
if (len == 1) {
if ((i = (int)strchr(text, tail)) != 0) return i-(int)text;
} else {
memset(skip, len, UCHAR_MAX+1);
for (i = 0; i < len - 1; i++)
skip[pattern[i]] = len - 1 - i;
while ((c = text[i]) != 0) {
if (c == tail) {
j = len - 1; k = i;
while (pattern[--j] == text[--k])
if (j == 0) return k;
}
i += skip[c];
}
}
return -1;
}
177デフォルトの名無しさん
2009/05/08(金) 00:38:07 あーセックスしてー
178デフォルトの名無しさん
2009/05/08(金) 04:48:57 ーてしスクッセーあ
make(1/3)
たくさんソースファイル尾つくって、毎回それを全部コンパイルするのは無駄だ。
変更したソースだけをコンパイルすれば効率がいい
dmc a.c b.c c.c
この場合a.c b.c c.cがコンパイルされa.obj,b.obj,c.objが作られる。
-------MAKEFILE---------
SEX : a.c b.c c.c
(tab)dmc a.c b.c c.c
---------------------------
MAKEFILEというファイル名で
(tab)はTAB1こ。
これをmakeすると…
たくさんソースファイル尾つくって、毎回それを全部コンパイルするのは無駄だ。
変更したソースだけをコンパイルすれば効率がいい
dmc a.c b.c c.c
この場合a.c b.c c.cがコンパイルされa.obj,b.obj,c.objが作られる。
-------MAKEFILE---------
SEX : a.c b.c c.c
(tab)dmc a.c b.c c.c
---------------------------
MAKEFILEというファイル名で
(tab)はTAB1こ。
これをmakeすると…
>>177-178
void rev(char *x,char*m, short s)
{
long bin=0;
long sm=strlen(x);
m[sm]=0;
for(;bin<sm;bin+=2){
m[bin]=x[sm-bin-2];
m[bin+1]=x[sm-bin-1];
}
}
main(){
char sex[] = "あーセックスしてー";
static char manko[64];
rev(sex,manko, 2);
puts(manko);
}
void rev(char *x,char*m, short s)
{
long bin=0;
long sm=strlen(x);
m[sm]=0;
for(;bin<sm;bin+=2){
m[bin]=x[sm-bin-2];
m[bin+1]=x[sm-bin-1];
}
}
main(){
char sex[] = "あーセックスしてー";
static char manko[64];
rev(sex,manko, 2);
puts(manko);
}
181 ◆nullpop./c
2009/05/10(日) 00:46:00 /*
ライブラリ関数[1]
ファイル関係は以下のようにする
*/
#include <stdio.h>
typedef struct {
FILE *sex;
char sex2p[801];
FILE *(*open)(const char *n,const char*m);
int (*close)(FILE*);
char *(*gets)(char*,int n,FILE*);
} SEX_IO_VER;
SEX_IO_VER sit = {NULL,"sex",fopen,fclose,fgets};
main(int argc, char **argv)
{
static int line;
sit.sex = sit.open(argv[1], "r");
while (sit.gets(sit.sex2p,800,sit.sex)) printf("line%4d -- %s",line++,sit.sex2p);
sit.close(sit.sex);
}
ライブラリ関数[1]
ファイル関係は以下のようにする
*/
#include <stdio.h>
typedef struct {
FILE *sex;
char sex2p[801];
FILE *(*open)(const char *n,const char*m);
int (*close)(FILE*);
char *(*gets)(char*,int n,FILE*);
} SEX_IO_VER;
SEX_IO_VER sit = {NULL,"sex",fopen,fclose,fgets};
main(int argc, char **argv)
{
static int line;
sit.sex = sit.open(argv[1], "r");
while (sit.gets(sit.sex2p,800,sit.sex)) printf("line%4d -- %s",line++,sit.sex2p);
sit.close(sit.sex);
}
182デフォルトの名無しさん
2009/05/10(日) 17:20:57 C言語は実際にみてみればいいですねwこの前sakuyawwwっていうやつと知恵袋で書き込みしあったので見てみてください。
メモリには1バイト(8ビット)づつ番地が割り振られている。
1番地=1バイト=8ビット=256通りの情報
100番地に154を置くということは、100番地のメモリを10011010にするということ。
このことをある言葉で書いてみてください。
ある言葉はCですねw
Cで書いてみると
size of char = 1 バイト
size of short = 2 バイト
size of int = 4 バイト
size of unsigned int = 4 バイト
size of float = 4 バイト
size of double = 8 バイト
size of long double = 12 バイト
size of size_t = 4 バイト
これでおkですw
メモリには1バイト(8ビット)づつ番地が割り振られている。
1番地=1バイト=8ビット=256通りの情報
100番地に154を置くということは、100番地のメモリを10011010にするということ。
このことをある言葉で書いてみてください。
ある言葉はCですねw
Cで書いてみると
size of char = 1 バイト
size of short = 2 バイト
size of int = 4 バイト
size of unsigned int = 4 バイト
size of float = 4 バイト
size of double = 8 バイト
size of long double = 12 バイト
size of size_t = 4 バイト
これでおkですw
183デフォルトの名無しさん
2009/05/10(日) 17:22:31ハッキングとクラッキングの違いについて、ハッカーは絶対に自分からハッキングしません。クラッカーどもはしますがね!
ハッカーは日本に何人いるか?については、具体的には分かりませんが、大体数百人ぐらいですね・・・自分がしっている人数でも、50人ぐらいしか知りません。
001b7 f2 0f 2c d3 cvttsd2si edx, xmm3はなんですか?について、自分が今まででそういうソフトは知りません。もしかしたら全然関係ないものかもしれないし、もしかしたら、本当に関係があるかもしれません。
ハッキングは防ぐことができますか?について、ここではハッキングではないので、後からは「クラッキング」と称します。
クラッカーはまあよほど物好きでなかったら、一般の人のPCやセキリュティに進入しません。まあ、一応クラッキングされたとして、
一応どんなPCにも独特のセキリュティが入っています。しかし、どんなセキリュティも30分ほどしか持たないといわれています。
なので、セキリュティへの進入を感知すると、しっかりしたPCだと警告がでるので、すぐにわかります。すると自動的にシャットダウンするなど色々な動作でクラッキングを防ぐ行動をします。
ハッキングのやり方は
自分のPC・セキリュティへの進入を感知→相手のプロダクトID(プロダクトキーでも可)→相手のセキリュティの突破・破壊(別に破壊しなくてもいいですが、したい場合はしちゃってください!)→後は自分の好きなようにする。
一応クラッキングについても教えますね。 まあ、専門ではないので間違っている場合があります。
相手のプロダクトID(IPアドレスがあればもっと簡単になります。)→相手のセキリュティの突破(破壊は絶対にしないでください。すぐにばれます。)→後は自分の好きなようにする。
まあ、すんごく、超簡単に言ってみるとこんな感じですね。
PCにアクセスとは何?については
多少間違っていますね。アクセスはハッキング(クラッキング)半分合っていて半分間違っています。自分のPCから相手のPCへのアクセスは相手も同意しているのが絶対です。それ以前にばれています。
あと、この回答は質問に答えただけなので、ベストアンサーにはしなくてもいいです。
184 ◆nullpop./c
2009/05/11(月) 21:49:51 >>182-183
ネタなのかマジなのかわからんが。。。。。
int,unsigned intはコンパイラ依存(2byte,4byteどちらか)
001b7 f2 0f 2c d3 cvttsd2si edx, xmm3
左が機械語、右が対応するアセンブリ言語
ネタなのかマジなのかわからんが。。。。。
int,unsigned intはコンパイラ依存(2byte,4byteどちらか)
001b7 f2 0f 2c d3 cvttsd2si edx, xmm3
左が機械語、右が対応するアセンブリ言語
185デフォルトの名無しさん
2009/05/13(水) 13:41:04186 ◆nullpop./c
2009/05/23(土) 09:29:12 演算子(1/5)
Cは演算子がおっぱいある
優先順位と結合規則について説明しよう
優先順位が高いものから演算されます
s+e*xのときにe*xをしてそれにsを足すといったようになる
優先順位が同じものが複数有る場合、結合規則が適用される
a+u+m-s+h
+-は結合規則が左から右になっているから
((a+u)+m)... というように演算される
Cは演算子がおっぱいある
優先順位と結合規則について説明しよう
優先順位が高いものから演算されます
s+e*xのときにe*xをしてそれにsを足すといったようになる
優先順位が同じものが複数有る場合、結合規則が適用される
a+u+m-s+h
+-は結合規則が左から右になっているから
((a+u)+m)... というように演算される
187 ◆nullpop./c
2009/05/23(土) 09:31:52 演算子(2/5)
配列の[]は注意が必要だ
sex[nakadasi]
これは
*(sex+nakadasi)
に変換される
だからa[5]と5[a]は同等だ
配列の[]は注意が必要だ
sex[nakadasi]
これは
*(sex+nakadasi)
に変換される
だからa[5]と5[a]は同等だ
188 ◆nullpop./c
2009/05/23(土) 09:34:06 演算子(3/5)
sizeof演算子は2つの使い方がある
main(){
short sex;
printf("%d"
"-----"
"%d"
,
sizeof(long),
sizeof sex);
}
sizeof演算子は2つの使い方がある
main(){
short sex;
printf("%d"
"-----"
"%d"
,
sizeof(long),
sizeof sex);
}
189 ◆nullpop./c
2009/06/06(土) 14:40:30 質問ある???
190デフォルトの名無しさん
2009/06/06(土) 16:41:34 >>187
うぉ、すげっ。
うぉ、すげっ。
191デフォルトの名無しさん
2009/06/09(火) 01:05:57 何かボタンを押したら・・・みないたのをやりたいんだけど
scanf()だとEnter押さなきゃ入ってくれないじゃない?
どうすればEnter以外のボタンでもキー入力を取得できるの?
scanf()だとEnter押さなきゃ入ってくれないじゃない?
どうすればEnter以外のボタンでもキー入力を取得できるの?
192デフォルトの名無しさん
2009/06/09(火) 01:16:26 標準のCライブラリでは無理。
処理系依存では、kbhit とかあるけど、最近のウィンドウズでも使えるんだっけ?
処理系依存では、kbhit とかあるけど、最近のウィンドウズでも使えるんだっけ?
193デフォルトの名無しさん
2009/06/10(水) 04:21:51 VCだと_kbhitが一応用意されてるな
使った事ないけど
使った事ないけど
194ぅゅ ◆e6.oHu1j.o
2009/09/10(木) 09:21:42 ほらよ!!!
#include <windows.h>
#include <conio.h>
#include <stdio.h>
void main(){
printf("Z か A ");
getch();
if( GetKeyState( 0x5A ) & 0x80 ){MessageBox( 0, "test" , "ぜっとー。。" , 0);}
if( GetKeyState( 0x41 ) & 0x80 ){MessageBox( 0, "test" , "えーぼたんー" , 0);}
}
#include <windows.h>
#include <conio.h>
#include <stdio.h>
void main(){
printf("Z か A ");
getch();
if( GetKeyState( 0x5A ) & 0x80 ){MessageBox( 0, "test" , "ぜっとー。。" , 0);}
if( GetKeyState( 0x41 ) & 0x80 ){MessageBox( 0, "test" , "えーぼたんー" , 0);}
}
195 ◆nullpop./c
2009/09/10(木) 19:13:43196デフォルトの名無しさん
2009/09/11(金) 03:33:51 e6.oHu1j.o でググると、しょうもないもんばっかり出てくるよ
197デフォルトの名無しさん
2009/09/11(金) 09:04:19 トリ付きの98%はゴミ
198 ◆nullpop./c
2009/09/13(日) 18:29:20 >>194修正
#include <windows.h>
#include <conio.h>
#include <stdio.h>
#include <mmsystem.h>
#pragma comment(lib,"winmm")
static char messagetable[][100] = {"エラーです", "ぜっとー。。", "えーぼたんー", };
void PrintMessage(int i){
HWND hwnd;
int table_id = 0;
hwnd = GetForegroundWindow();
if( GetKeyState( 'Z' ) & 0x80 ) table_id = 1;
if( GetKeyState( 'A' ) & 0x80 ) table_id = 2;
if(table_id !=0) {
MessageBox( hwnd, "test" , messagetable[table_id] , MB_ABORTRETRYIGNORE);
} else {
MCI_OPEN_PARMS mop;
mop.lpstrDeviceType = "cdaudio";
mciSendCommand((DWORD_PTR)NULL, MCI_OPEN, MCI_OPEN_TYPE, (DWORD_PTR)&mop);
mciSendCommand(mop.wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, (DWORD_PTR)NULL);
}
}
int main(void){
int i;
printf("Z か A ");
i = getch();
PrintMessage(i);
return EXIT_SUCCESS;
}
#include <windows.h>
#include <conio.h>
#include <stdio.h>
#include <mmsystem.h>
#pragma comment(lib,"winmm")
static char messagetable[][100] = {"エラーです", "ぜっとー。。", "えーぼたんー", };
void PrintMessage(int i){
HWND hwnd;
int table_id = 0;
hwnd = GetForegroundWindow();
if( GetKeyState( 'Z' ) & 0x80 ) table_id = 1;
if( GetKeyState( 'A' ) & 0x80 ) table_id = 2;
if(table_id !=0) {
MessageBox( hwnd, "test" , messagetable[table_id] , MB_ABORTRETRYIGNORE);
} else {
MCI_OPEN_PARMS mop;
mop.lpstrDeviceType = "cdaudio";
mciSendCommand((DWORD_PTR)NULL, MCI_OPEN, MCI_OPEN_TYPE, (DWORD_PTR)&mop);
mciSendCommand(mop.wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, (DWORD_PTR)NULL);
}
}
int main(void){
int i;
printf("Z か A ");
i = getch();
PrintMessage(i);
return EXIT_SUCCESS;
}
199デフォルトの名無しさん
2009/09/14(月) 19:59:25 適切なスレがあったら是非誘導お願いします。
C言語用の、データ構造やアルゴリズムのライブラリってありませんか?
C++ならばSTLやBoostがありますが、Cのためのそれらのようなものを探しています。
できればそれなりにユーザーもいて開発も続いているものが...
C言語用の、データ構造やアルゴリズムのライブラリってありませんか?
C++ならばSTLやBoostがありますが、Cのためのそれらのようなものを探しています。
できればそれなりにユーザーもいて開発も続いているものが...
200 ◆nullpop./c
2009/09/14(月) 20:35:09201デフォルトの名無しさん
2009/09/15(火) 07:54:09202デフォルトの名無しさん
2009/09/15(火) 22:36:28 >>200
つ[Numerical Recipies]
つ[Numerical Recipies]
203デフォルトの名無しさん
2009/09/15(火) 22:37:43 202s/200/201/
204デフォルトの名無しさん
2009/09/17(木) 22:47:59 入門書を・・・・買えばいいと思うよ
206デフォルトの名無しさん
2009/09/23(水) 20:17:28 C 言語を少し遣りたいのですが レス 返せる方居りますか?
207デフォルトの名無しさん
2009/09/23(水) 20:26:43 初歩的な質問で申し訳ないのですが?
決まった言語で在れば compiler は分かるのですが
C 言語での compiler と云うのが思い当たらないのです…
C 言語で compiler 処理はどの様に処理結果を出せば良いのでしょうか?
レス が無かったら悲しく クグル 事にします…
決まった言語で在れば compiler は分かるのですが
C 言語での compiler と云うのが思い当たらないのです…
C 言語で compiler 処理はどの様に処理結果を出せば良いのでしょうか?
レス が無かったら悲しく クグル 事にします…
208デフォルトの名無しさん
2009/09/23(水) 20:27:46 おりますが、C言語は少しやった程度でどうにかなるようなものではありません
本人の適性や学習ペースや目的にもよるものの、数ヶ月くらいは覚悟しましょう
本人の適性や学習ペースや目的にもよるものの、数ヶ月くらいは覚悟しましょう
209デフォルトの名無しさん
2009/09/23(水) 20:30:15210デフォルトの名無しさん
2009/09/23(水) 20:31:55 >>209
OS X です
OS X です
211デフォルトの名無しさん
2009/09/23(水) 20:33:41 >>209
gcc 系統の install はして居ります
gcc 系統の install はして居ります
212デフォルトの名無しさん
2009/09/23(水) 20:40:11 これだけで終わるのでしょうか…
213デフォルトの名無しさん
2009/09/23(水) 20:42:01 >>210
ターミナルを起動して
gcc filename.c
のように打てば、その filename.c がコンパイルされて a.out という実行ファイルが出来るので、
./a.out
と打てば実行される
ターミナルを起動して
gcc filename.c
のように打てば、その filename.c がコンパイルされて a.out という実行ファイルが出来るので、
./a.out
と打てば実行される
214デフォルトの名無しさん
2009/09/23(水) 20:50:23 >>209
以前は Linux でしたが?
多様性を考え Mac に移行した訳です…
個人で調べた結果 BSD 系程は command の充実は在りませんが?
自宅で BSD server を構築するのは
server 管理者の cost も負わなくては成らないので Mac と云う事です
以前は Linux でしたが?
多様性を考え Mac に移行した訳です…
個人で調べた結果 BSD 系程は command の充実は在りませんが?
自宅で BSD server を構築するのは
server 管理者の cost も負わなくては成らないので Mac と云う事です
215デフォルトの名無しさん
2009/09/23(水) 20:55:38216デフォルトの名無しさん
2009/09/23(水) 21:06:43217デフォルトの名無しさん
2009/09/24(木) 23:55:39 お前ゲームプログラムスレにいたキチガイだろwww
218デフォルトの名無しさん
2009/09/29(火) 11:24:04 >以前は Linux でしたが?
>個人で調べた結果 BSD 系程は command の充実は在りませんが?
何で質問しているの? 自分のことも判らないほど馬鹿なの?
>個人で調べた結果 BSD 系程は command の充実は在りませんが?
何で質問しているの? 自分のことも判らないほど馬鹿なの?
219デフォルトの名無しさん
2009/10/01(木) 12:00:21220デフォルトの名無しさん
2009/10/01(木) 13:42:50 >>219
連休だったんだろ。
連休だったんだろ。
221 ◆nullpop./c
2010/05/03(月) 20:06:36 int i = 10;
int * p = &i;//int型ポインタpにiのアドレスを代入する
簡単。
char str1[] = "abcde";
char * str2 = "abcde";
上と下は同じでどっちを使ってもいい。
int * p = &i;//int型ポインタpにiのアドレスを代入する
簡単。
char str1[] = "abcde";
char * str2 = "abcde";
上と下は同じでどっちを使ってもいい。
222 ◆nullpop./c
2010/05/03(月) 20:10:42 証明
int _cdecl main(void){
char str1[] = "abcde";
char * str2 = "abcde";
puts(str1);puts(str2);//abcdeabcde
if (strlen(str1) ==strlen(str2)) puts("str1 str2 is same!"):
str2=str1;
printf("%c", 2[str2]);//c
return 0;
}
int _cdecl main(void){
char str1[] = "abcde";
char * str2 = "abcde";
puts(str1);puts(str2);//abcdeabcde
if (strlen(str1) ==strlen(str2)) puts("str1 str2 is same!"):
str2=str1;
printf("%c", 2[str2]);//c
return 0;
}
223デフォルトの名無しさん
2010/05/03(月) 23:35:03 >>221-222
ネタ?
ネタ?
224 ◆nullpop./c
2010/05/03(月) 23:39:41 マジにネタレスご苦労
225デフォルトの名無しさん
2010/05/04(火) 00:47:59 > char str1[] = "abcde";
> char * str2 = "abcde";
> 上と下は同じでどっちを使ってもいい。
以下の実行結果を検証してみること。
int main(){
char str1[] = "abcde";
char * str2 = "abcde";
printf("%d\n", sizeof(str1));
printf("%d\n", sizeof(str2));
return 0;
}
> char * str2 = "abcde";
> 上と下は同じでどっちを使ってもいい。
以下の実行結果を検証してみること。
int main(){
char str1[] = "abcde";
char * str2 = "abcde";
printf("%d\n", sizeof(str1));
printf("%d\n", sizeof(str2));
return 0;
}
226デフォルトの名無しさん
2010/05/04(火) 04:09:32 >>225
カッコつけてんじゃねーよド素人。
カッコつけてんじゃねーよド素人。
227デフォルトの名無しさん
2010/05/04(火) 04:37:15 >>226
括弧つけてはいけないという法は無い
括弧つけてはいけないという法は無い
228 ◆nullpop./c
2010/05/04(火) 05:47:29229デフォルトの名無しさん
2010/05/04(火) 06:25:53230デフォルトの名無しさん
2010/05/04(火) 06:40:27231デフォルトの名無しさん
2010/05/04(火) 07:03:36 MOVE.L D0,2(A0)
こんな形に近くて美しく見えなくもない。
こんな形に近くて美しく見えなくもない。
232デフォルトの名無しさん
2010/05/04(火) 08:18:42 アセンブラじゃなくてC言語をやりたいんですが
233デフォルトの名無しさん
2010/05/04(火) 13:25:18 はい
234デフォルトの名無しさん
2010/05/04(火) 16:26:42 はい
235デフォルトの名無しさん
2010/05/04(火) 23:44:37236デフォルトの名無しさん
2010/06/02(水) 17:54:13 教えてください。
gccで画面に直線描くのはどうやるのですか。
私は、今春定年退職した暇人で、c言語入門者です。
よろしくお願いします。
gccで画面に直線描くのはどうやるのですか。
私は、今春定年退職した暇人で、c言語入門者です。
よろしくお願いします。
237デフォルトの名無しさん
2010/06/02(水) 18:38:59 環境による
共通のやり方は無い
共通のやり方は無い
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- トランプ大統領「米中がうまくやろうとしているのに、邪魔しないでくれ」 高市首相に厳しい口調でくぎを刺していた [Hitzeschleier★]
- こども家庭庁、2026年から“独身税”を開始、年収200万なら年4200円、年収400万なら年7800円 ★4 [お断り★]
- 【速報】宮川大輔&ケンコバの福岡ライブ 開演1時間前に急きょ中止「諸般の都合により」 [jinjin★]
- B’z東京ドーム公演で後ろの客が大熱唱…「B’zの歌声に集中できない」注意すると笑いながら反論されモヤモヤ [muffin★]
- 小川晶氏、出直し立候補に意欲 前橋市長選「諦められず」 [蚤の市★]
- なぜリベラルは人気がないのか 斎藤幸平さんが指し示す未来への道筋:朝日新聞 ★5 [少考さん★]
- 【実況】博衣こよりのえちえちボンバーマン大会🧪★2
- 【実況】博衣こよりのえちえちボンバーマン大会🧪
- 【速報】伊東市長選、田久保氏が敗北確実wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww [812874503]
- 烈海王(グラップラー刃牙)がアクションフィギュア化キタ━━━━(゚∀゚)━━━━!! [831513313]
- なんGで毎日のように立ってる→🏡これなんなん❓
- 山尾志桜里さん、辻元清美氏が高市早苗の台湾有事の答弁資料を出したことに対し怒りが有頂天に「官僚の作った答弁を読めというのか!!!」 [597533159]
