ポインタでのエイリアス

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
GG

ポインタでのエイリアス

#1

投稿記事 by GG » 9年前

コード:

 
int main(void) {
char cs[30];
	char s;
	char *find;
	printf("文字列を入力してください:");
	scanf("%s", cs);
	printf("検索する文字を入力してください:");
	scanf(" %c",&s);


	find = str_chr(cs,s);

char *str_chr(const char *s, int c) {
	char *find = NULL;
		while (*s) {
			if (*s == c) {
				find = (char *)s;
				break;
			}
			*s++;
		}
		return(find);
}


find = (char *)s;のところなんですが
仮引数で受け取ったときはsc[0]のポインタであって
whileの中で*s++させることでsが指すアドレスの位置はsc[1] sc[2]に移動して一致させていると思ってるんですが
間違ってますか?

*sというsc[?]のエイリアスは
sc[? ]と同じ意味であって連動していないと思ってたんですがどうなんでしょうか

GG

Re: ポインタでのエイリアス

#2

投稿記事 by GG » 9年前

ありがとうございます。

閉鎖

“C言語何でも質問掲示板” へ戻る