そろそろC言語のポインタを理解したい。

記事サムネイル
1 : 2025/12/28(日) 21:34:46.20 ID:VCrD6Jc00
2 : 2025/12/28(日) 21:36:37.61 ID:DzjEOGwn0
エクセルと同じ
3 : 2025/12/28(日) 21:37:50.67 ID:S3pmcx6W0
>>1はい
4 : 2025/12/28(日) 21:37:54.79 ID:ERmvbCHx0
「C言語のポインタ」じゃなくてCPUの仕組みを理解したほうがいい
5 : 2025/12/28(日) 21:38:35.17 ID:W3QhfYYq0
メモリの番地が書いてある付箋の事だよ
6 : 2025/12/28(日) 21:39:33.22 ID:3gelg4E00
俺も昔意味わからんかったけど、C#とかobjective Cとかで参照渡しやってたら自然と分かったわ
7 : 2025/12/28(日) 21:40:30.17 ID:6ocgQYMJ0
パタヘネを読め
8 : 2025/12/28(日) 21:41:12.43 ID:Wm6rxqPj0
案の定ポインタで力尽きた俺が通りますよ
10 : 2025/12/28(日) 21:43:20.20 ID:GpyOj5c/0
配列などのアドレスを変数として扱うのがポインタ
11 : 2025/12/28(日) 21:43:39.97 ID:clV9U+I80
配列とポインタの違いについて
23 : 2025/12/28(日) 21:47:29.57 ID:8UjI86e90
>>11
ポインタはアドレスを格納した変数
連続して確保された配列はポインタの増減で簡単に移動できる
12 : 2025/12/28(日) 21:44:30.11 ID:jjIwX4C30
今はシリアライズしてネット回線飛び越えて伝送できる仕組みの方がずっとすげーわ
18 : 2025/12/28(日) 21:45:36.12 ID:3gelg4E00
>>12
指定のメモリ空間をネット経由でコピーしてるみたいなもんだと思うけどね
43 : 2025/12/28(日) 21:53:31.59 ID:fcZELTsZ0
>>12
型定義があればvoid型からコピーできるでしょ
13 : 2025/12/28(日) 21:44:39.08 ID:ywUbvrGj0
ポインタのポインタ
14 : 2025/12/28(日) 21:44:49.87 ID:GpyOj5c/0
参照渡しと値渡し

関数がコピーを作るのは同じだがアドレスを直接渡せる

15 : 2025/12/28(日) 21:45:08.45 ID:CcfU9ghx0
関数へのポインタもあるしなあ
25 : 2025/12/28(日) 21:47:58.20 ID:8UjI86e90
>>15
関数が格納されたメモリのアドレス
61 : 2025/12/28(日) 21:59:41.46 ID:CcfU9ghx0
>>25
更にC++のクラス内関数へのポインタでstatic関数か
どうかの使い分けはなかなか応用効いてるよな
16 : 2025/12/28(日) 21:45:10.73 ID:MVHmrDRp0
すぐに分かる
17 : 2025/12/28(日) 21:45:17.65 ID:m3CMGpvQ0
ポインタはインクリメント出来る
+1すると型に応じて番地が増える

この理解で合ってるか?

19 : 2025/12/28(日) 21:46:03.74 ID:WQpiYPBI0
こんなオワコンやるよりRustやれ
22 : 2025/12/28(日) 21:47:10.83 ID:51dD4aPP0
>>19
たし🦀
50 : 2025/12/28(日) 21:56:24.91 ID:b68CDH4i0
>>19
書いたこともないくせにw
20 : 2025/12/28(日) 21:46:57.66 ID:/79Ln3vz0
ポインタのポインタとかわけわからん
24 : 2025/12/28(日) 21:47:35.53 ID:clV9U+I80
>>20
ジャグ配列できる
29 : 2025/12/28(日) 21:49:09.77 ID:3gelg4E00
>>20
同じ型(構造体)のデータが複数の場所にあって、その場所を記憶しているポインタ変数を触りたい時に使う
32 : 2025/12/28(日) 21:50:15.55 ID:8UjI86e90
>>20
ポインタはメモリのアドレスを格納した変数

ポインタのポインタもメモリのアドレスを格納した変数
メモリのアドレスの位置にある変数がたまたまポインタなだけ

41 : 2025/12/28(日) 21:53:26.66 ID:m3CMGpvQ0
>>20
文字列(文字を要素に持つ文字配列)にアクセスするときに使うのがポインタ
文字列を要素に持つ配列にアクセスするときに使うのがポインタのポインタ
21 : 2025/12/28(日) 21:47:03.51 ID:CQzENmHf0
アドレス渡し
26 : 2025/12/28(日) 21:48:20.44 ID:m3CMGpvQ0
無職になったから職業訓練でC言語とかアセンブラ勉強してる
今まで避けてきたコンピュータの本質に迫っていくぞ
38 : 2025/12/28(日) 21:52:04.76 ID:clV9U+I80
おれはtinyなマイコン触る時しかc使ってない
>>26
データシート見ながらハンドアセンブルしてマシン語にするとええよ
27 : 2025/12/28(日) 21:48:57.29 ID:V8vZ4ELU0
ポインタを理解したとしても関数ポインタでまたつまづくんだろ?
34 : 2025/12/28(日) 21:51:20.99 ID:3gelg4E00
>>27
いや躓かない
次に脳の理解的に躓くのは、mapとかああいうやつ
35 : 2025/12/28(日) 21:51:35.65 ID:Ac5cl9R20
>>27
関数ポインタで躓く要素って記述方法ぐらいかとw
28 : 2025/12/28(日) 21:49:09.05 ID:9A98PWMP0
Cheatすればすぐわかるようになるよ
30 : 2025/12/28(日) 21:49:54.37 ID:5UYB9li1r
アセンブラ触ればすぐ理解できるっしょ
使いこなせるかはさておき
31 : 2025/12/28(日) 21:50:05.64 ID:AEkL8N/10
なんでわからないのかがわからない
33 : 2025/12/28(日) 21:50:48.85 ID:bktlmTQL0
変数のメモリー上のアドレスを入れる変数だ
それだけだよ

ポインターを難しい、難しいと書いてある参考書あるけど、
別に難しくない物をわざわざ難しい事にしてるだけ

36 : 2025/12/28(日) 21:51:38.68 ID:mHLlrwxX0
単なるメモリの番地じゃん
俺の場合は教科書が良かったのか無風で通り過ぎた
39 : 2025/12/28(日) 21:52:52.66 ID:lec6vcRV0
今はAIに小学生でも分かるように解説してって言えば教えてくれるからいいよなあ
40 : 2025/12/28(日) 21:53:26.49 ID:8UjI86e90
エクセルの計算式でセル指定するでしょ。
あれがポインタ。
エクセルだとアドレスが2次元なだけ。

セルが変数

42 : 2025/12/28(日) 21:53:31.44 ID:3gelg4E00
まあ今AIあるから誰でも余裕だろ
昔は躓くポイントが人それぞれなのに教え方がそれにあってないから余計に混乱してただけで、今はAIに細かく聞けるから余裕
44 : 2025/12/28(日) 21:53:41.10 ID:M+tX+wwB0
引数で * で渡すやつと & で渡すやつって何が違うんだっけ?
45 : 2025/12/28(日) 21:54:28.30 ID:+OeFnDKw0
こまけえこたあ考えずにグローバル変数使えってケンモンにいわれた
47 : 2025/12/28(日) 21:55:02.44 ID:ymHsetK10
C#のデリゲートって関数への参照を格納する変数であってるっけ?
いや、その変数に格納できる関数の形式を定義するんだっけ?
いずれにせよ、C#の学習で難解だけどカッコいい箇所だった記憶が…
53 : 2025/12/28(日) 21:58:11.88 ID:AgR+1DfY0
>>47
いやあってないよ
48 : 2025/12/28(日) 21:55:11.81 ID:7cP17r5z0
面倒なのでおれはアセンブラ派
49 : 2025/12/28(日) 21:55:17.53 ID:jjIwX4C30
今の御時世そんなんどうでもいいんだよ
正しく動けば正で動かなかったら疑なんだよ
昔と違って馬鹿みたいにメモリ空間もCPUリソースも好きに使えるんだから変な事拘ないで最低工数で正しく動くもの作れよ
51 : 2025/12/28(日) 21:56:32.18 ID:m3CMGpvQ0
職業訓練で回路を学んだからLEDを光らせることが出来たぞ
C言語を完璧に理解したらLinuxのソースを読んで自作OSにも挑戦するぞ
52 : 2025/12/28(日) 21:57:37.33 ID:mHLlrwxX0
なんで難しいって言われてたんだろうね?
コンピュータってものを見たことも触ったこともなかった時代の話じゃない?
54 : 2025/12/28(日) 21:58:38.23 ID:9aeB/W8+0
参照の概念がそもそも分かりづらいのにポインタのクソ記法とのダブルコンボだからな
56 : 2025/12/28(日) 21:59:01.33 ID:TqRqszkh0
CなんかどうでもいいからRustから入れ
58 : 2025/12/28(日) 21:59:13.81 ID:G7hlcaYR0
ポインターは理解できる箱の先頭だろ
ではポインターのポインターとはなんだ
65 : 2025/12/28(日) 22:00:48.94 ID:bktlmTQL0
>>58
ポインターも変数だから、ポインターのアドレス
どう使うのかは、知らん
66 : 2025/12/28(日) 22:00:55.01 ID:eVCjhsCD0
>>58
配列の中身がポインタになってるだけや
59 : 2025/12/28(日) 21:59:22.35 ID:Ayixjt210
どうせならRustやりなよ
60 : 2025/12/28(日) 21:59:29.77 ID:clV9U+I80
関数のパラメータとして配列を宣言した場合は配列とポインタは同じ意味 同じシグネチャになる
62 : 2025/12/28(日) 22:00:38.43 ID:67hD0u4U0
今ならRustやれ
Cはクソ

コメント

タイトルとURLをコピーしました