こんばんは![]()
お久しぶりですっ!![]()
二回目のブログ更新です。今回はポインタを利用したプログラムを作りました。
以下にソースコードと実行結果を載せます。
---------------------------------------------------------------------
1.文字列コピー関数str_copy:ポインタを用いて作成する。
#include <stdio.h>
void str_copy( char *dst, char *src);
int main (void)
{
char city1[20] = "Nagano";
char city2[20];
str_copy( city2, city1 ); /* 2つの文字列の先頭アドレスを引数とする。 */
printf("city1 = %s\n", city1);
printf("city2 = %s\n", city2);
return 0;
}
void str_copy( char *dst, char *src){
int i;
for(i=0; src[i]!='\0';i++) /*NULLまで値を増やす*/
{
dst[i]=src[i]; /*一文字ずつコピーする*/
}
dst[i]='\0'; /*文字列の最後にNULLを加える*/
return *dst,*src;
}
・実行結果
2.文字列長さ関数str_length:ポインタを用いて作成する。
#include <stdio.h>
int str_length(char *str);
int main (void){
char city1[20] = "Nagano";
char city2[20] = "Niigata";
printf("city1 = %s, length = %d\n", city1, str_length(city1));
printf("city2 = %s, length = %d\n", city2, str_length(city2));
return 0;
}
int str_length(char *str){
int i;
for(i=0;str[i]!='\0';i++); /*NULLまで値を増やす*/
return i; /*iを長さの値として返す*/
}
・実行結果
3.文字列連結関数str_cat:ポインタを用いて作成する。
#include <stdio.h>
void str_cat( char *dst, char *src); /*dst&src→dst*/
int main (void){
char city1[20] = "Nagano";
char city2[20] = "Niigata";
str_cat( city1, city2 ); /* 2つの文字列の先頭アドレスを引数とする。 */
printf("city1 = %s\n", city1);
printf("city2 = %s\n", city2);
return 0;
}
void str_cat( char *dst, char *src){
int i,j;
for(i=0;dst[i]!='\0';i++); /*NULLまで値を増やす*/
for(j=0;src[j]!='\0';j++,i++){
dst[i] = src[j]; /*dstの文字列の後にsrcを一文字ずつコピーする*/
}
dst[i] = '\0'; /*文字列の最後にNULLを加える*/
}
・実行結果
4.文字列交換関数str_swap:ポインタを用いて作成する。
#include <stdio.h>
void str_swap ( char *dst, char *src);/*dst⇔src*/
int main (void) {
char city1[20] = "Nagano";
char city2[20] = "Niigata";
str_swap( city2, city1 ); /* 2つの文字列の先頭アドレスを引数とする。 */
printf("city1 = %s\n", city1);
printf("city2 = %s\n", city2);
return 0;
}
void str_swap ( char *dst, char *src){
int i,z;
for(i=0;i<20;i++)
{
z = dst[i];
dst[i] = src[i];
src[i] = z;
}
}
・実行結果
ポインタは今までやったことの中でも特に難しく、なかなか理解するのが大変でした。使いこなせるようになれば、コンピュータで様々なことが出来そうなので頑張っていきたいと思います。
4個とも引数にポインタを使っているので、基本は似たようなプログラムだと思います。一個目ができた後は割と早く残りの3つが出来ました。
---------------------------------------------------------------------
寒いとキーボードを打つ手もかじかんできますね![]()
![]()
今回はここまでです。コメントくださるとありがたいです
ペコりんこ![]()
またねっ![]()



