***今日本キーボードしかないので
日本語で説明が行いているのを認識してください
#include<stdio.h>
int main()
{
int int_value = 6;
//int *plnt_value=&int_value;
int *plnt_value=NULL;
plnt_value=&int_value;
printf("int_value: %d\n",int_value);
printf("plnt_value:%x\n".plnt_value);
return 0;
}
point 連算者
direct access VS indirect access
#include<stdio.h>
int main()
{
int int_value = 6;
//int *plnt_value=&int_value;
int *plnt_value=NULL;
plnt_value=&int_value;
printf("int_value: %d\n",int_value);
printf("plnt_value:%x\n".plnt_value);
printf("*plnt_value:%d\n",plnt_value);
return 0;
}
練習問題1
次の変数のポインター変数を宣言し、大きさと住所の値を出力しなさい
char char_value='C';
int int_value=100;
double double_value=100.5;
#include<stdio.h>
int main(){
char char_value='C';
int int_value =100;
double double_value =100.5;
char *a=&char_value;
int *b=&int=value;
double *c=&double_value;
printf("char* 大きさ:%d, 住所:%x, 目指している変数値:%c\n",sizeof(a),a,*a);
}
ポインターは必ずNULL初期化するべき
ex)int* pInt_value=NULL
ex) if(NULL!=pA){
}
ex) if(NULL!=plnt_value){
result+=(*plnt_value);
}
練習問題2
変数二つがあります
swap_valuse()
#include<stdio.h>
void swap_values(int* pFirst_value, int* pSecond_value);
int main(void){
int first_value=100;
int secong_value=200;
printf("%d,%d\n",first_value,second_value);
swap_values(&first_value,&second_value);
}
void swap_values(int* pFirst_value,int*pSecond_value)
{
int temp=0;
if(NULL!=pFirst_value&&NULL!=pSecond_value){
temp=*pFirst_value;
*pFirst_value=*pSecond_value;
*pSecond_value=temp;
}
}