私はcプログラミングが初めてです。ネットワーク セキュリティのユニ コースの一環として、SSL ハンドシェイク シミュレーションを設計する必要があります。オンラインでサンプル コードを見つけましたが、コードの一部がわかりません。次のことで私を助けてください:
何をし(char) 0
ますか?? ( send_data は次のように定義されますchar send_data[1024];
)
send_data[0] = (char) 0; //Packet Type = hello
send_data[1] = (char) 3; //Version
編集 + フォローアップ
皆さん、型キャストとは何かを知っています。
キャストとは何かを理解していますが、投稿したコードは何もしていません。整数 0 は文字としてキャストされていますが、それを印刷すると空白になるため、何もしません。値はありません。
例:
#include <stdio.h>
#include <stdlib.h>
int main(){
char test;
int num;
num = 1;
test = (char) num; // this does nothing
printf("num = %d , %c\n",num,num);
printf("test = %d , %c\n",test,test);
// Isn't this the correct way to do it ?? :
num = 3;
test = '3'; // now this is a character 3
printf("num = %d , %c\n",num,num);
printf("test = %d , %c\n",test,test);
return 0;
}
上記のコードの出力は次のとおりです。
num = 1 ,
test = 1 ,
num = 3 ,
test = 51 , 3
では、なぜそれが行われているのですか?? これは正しい方法ではありませんか:- send_data[0] = '0'; send_data[1] = '3';