C言語ポインタ遊び
7572 ワード
C言語ポインタ遊び
なんか、低レベルのプログラミング言語で久々に遊びたくなった。
ちな、低レベルってのは、技術的に劣っているという意味では無く、よりハードウェアに近い抽象化が低い言語です。
ソース
hello.cpp
// ConsoleApplication1.cpp : このファイルには 'main' 関数が含まれています。プログラム実行の開始と終了がそこで行われます。
//
//C言語の入出力関数(printfなど)を
//使用するのに必要
#include <stdio.h>
//C++の入出力オブジェクトを
//使用するのに必要
#include <iostream>
void main()
{
int i=0;
int intnohensu;
char* charnopointer;
//int型変数に255を代入
intnohensu = 255;
//明示的にchar型ポインタとして、intのアドレスを代入
charnopointer = (char*)&intnohensu;
printf("255の場合");
printf("intnohensuの値 =%d\n", intnohensu);
printf("intnohensuのアドレス =%p \n", &intnohensu);
printf("charnopointeの値(10進) =%d\n", charnopointer);
for (i = 0; i <= 3; i++) {
printf("charnopointer[%d]のアドレス =%p\n", i, &charnopointer[i]);
printf("charnopointer[%d]の値 =%x\n", i,charnopointer[i]);
}
printf("\n\n");
//int型変数に255を代入
intnohensu = 256;
//明示的にchar型ポインタとして、intのアドレスを代入
charnopointer = (char*)& intnohensu;
printf("256の場合");
printf("intnohensuの値 =%d\n", intnohensu);
printf("intnohensuのアドレス =%p \n", &intnohensu);
printf("charnopointeの値(10進) =%d\n", charnopointer);
for (i = 0; i <= 3; i++) {
printf("charnopointer[%d]のアドレス =%p\n", i, &charnopointer[i]);
printf("charnopointer[%d]の値 =%x\n", i, charnopointer[i]);
}
std::cout << "レッツポインタ遊び!\n";
}
結果
イメージ
Author And Source
この問題について(C言語ポインタ遊び), 我々は、より多くの情報をここで見つけました https://qiita.com/code2545Light/items/eb3b3aad837ca89f9372著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .