「トーク:C言語」の版間の差分

削除された内容 追加された内容
関数の記事の分割案について、既に分割したことを報告。
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
148 行
 
*可読性については、概要の節を設けて、そこで形式と機能のみを記述した表を作ろうかと思います。[[利用者:Toya shiwasu|Toya shiwasu]] ([[利用者・トーク:Toya shiwasu|トーク]]) 2017年3月15日 (水) 11:52 (UTC)
 
 
* DLを使った編集を多くしたあと、このトークの話題にきがつきました。以下のようなフォーマットで編集しています[https://ja.wikibooks.org/w/index.php?title=C%E8%A8%80%E8%AA%9E/%E6%A8%99%E6%BA%96%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA/%E6%96%87%E5%AD%97%E5%88%97%E6%93%8D%E4%BD%9C&oldid=181008#strcpy%E9%96%A2%E6%95%B0]。
; 編集例
:<source lang=text>
=== strcpy関数 ===
; 形式
: <syntaxhighlight lang=c>
#include <string.h>
char *strcpy(char * restrict s1, const char * restrict s2);
</syntaxhighlight>
; 引数
:s1 コピー先の文字列
:s2 コピー元の文字列
; 返却値
:s1の値
; 機能
:s2が指す文字列(終端ナル文字を含む)をs1が指す配列にコピーする。
:s1とs2が重なっている場合、その動作は'''未定義'''である。
:返却値はs1の値を返す。
; 例
: <syntaxhighlight lang=c>
#include <stdio.h>
#include <string.h>
 
int main(void)
{
char s1[16] = "abc";
char s2[16] = "def";
printf("コピー前のs1の値:%s\n", s1);
printf("コピー前のs2の値:%s\n", s2);
strcpy(s1, s2);
printf("コピー後のs1の値:%s\n", s1);
printf("コピー後のs2の値:%s\n", s2);
}
</syntaxhighlight>
</source>
; レンダリング
<div style="margin-left:2rem">
'''strcpy関数'''
; 形式
: <syntaxhighlight lang=c>
#include <string.h>
char *strcpy(char * restrict s1, const char * restrict s2);
</syntaxhighlight>
; 引数
:s1 コピー先の文字列
:s2 コピー元の文字列
; 返却値
:s1の値
; 機能
:s2が指す文字列(終端ナル文字を含む)をs1が指す配列にコピーする。
:s1とs2が重なっている場合、その動作は'''未定義'''である。
:返却値はs1の値を返す。
; 例
: <syntaxhighlight lang=c>
#include <stdio.h>
#include <string.h>
 
int main(void)
{
char s1[16] = "abc";
char s2[16] = "def";
printf("コピー前のs1の値:%s\n", s1);
printf("コピー前のs2の値:%s\n", s2);
strcpy(s1, s2);
printf("コピー後のs1の値:%s\n", s1);
printf("コピー後のs2の値:%s\n", s2);
}
</syntaxhighlight>
</div>
::--[[利用者:Ef3|Ef3]] ([[利用者・トーク:Ef3|トーク]]) 2021年8月8日 (日) 23:02 (UTC)
 
== 「配列とポインタの基本」について ==
ページ「C言語」に戻る。