Kernel Kudos – Telegram
Kernel Kudos
1.73K subscribers
110 photos
50 videos
112 files
256 links
🪐 This channel talks about: C, Linux, Bash, and so on 🕸️

🌀 Buy Me Coffee
USDT BEP20 : 0xbc8e52af7b46461b8076085Be771F465E26A9Dfd

🐞 YouTube: https://youtube.com/@KernelKudos

Chat: { https://news.1rj.ru/str/+ftxZVA8V_ns5ZmY8 }

🔴 whoami : { @FirstTarokh }
Download Telegram

#include <stdio.h>

int main() {
int arr[5] = {10, 20, 30, 40, 50};
int index = -1;
printf("%d\n", arr[index]);
return 0;
}

#include <stdio.h>

int main() {
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr;

for (int i = 0; i <= 5; i++) {
printf("%d ", *(ptr + i));
}

return 0;
}
👍3
اینم از کوئیز ها
هرچند یه سوتی دادم که بعضیا جواب رو فهمیدن، ولی درستش کردم

فردا شب بسته میشن و جواب هارو میزارم
3
#notice
تا چند دقیقه دیگه کوئیز ها بسته میشن و جواب هارو می‌زارم
سعی کنید انجامشون بدید زودتر
Kernel Kudos
void main(void) { int[] arr = new int[23]; printf("%s\n", arr[0]); }
اصلا همچین سینتکسی توی سی نداریم
👍2
Kernel Kudos
void main(void) { int size = 0; scanf("%d", &size); int arr[size]; print("%d\n", sizeof(arr)); }
آرایه هارو باید با constant تعریف کرد
نمیتونیم زمان runtime تعریف کنیم که سایزشون چقدره
Kernel Kudos
#include <stdio.h> int main() { int arr[5] = {1, 2, 3, 4, 5}; for (int i = 0; i <= 5; i++) { printf("%d ", arr[i]); } return 0; }
این کد امن نیست بخاطر اینکه یک ایندکس بیشتر از طول آرایه حرکت میکنه
و بهتون garbage نشون میده
Kernel Kudos
#include <stdio.h> int main() { int arr[3]; for (int i = 0; i < 5; i++) { arr[i] = i + 1; } for (int i = 0; i < 3; i++) { printf("%d ", arr[i]); } return 0; }
این کد هم همینطور
زمانی که داریم آرایه رو پر میکنیم. تا 5 حرکت میکنیم درحالی که طول تعریف شده برای آرایه 3 هست
اینطوری دیتایی که داخل خونه بعدی حافظه هست خراب میشه و احتمالا crash میکنیم
Kernel Kudos
#include <stdio.h> int main() { int arr[5]; for (int i = 0; i < 5; i++) { printf("%d ", arr[i]); } return 0; }
اینجا ارایه تعریف شده ولی هیچ مقداری برای خونه ها در نظر گرفته نشده
پرینت کردنشون درست نیست و garbage میگیریم
Kernel Kudos
#include <stdio.h> int main() { int arr[5] = {10, 20, 30, 40, 50}; int index = -1; printf("%d\n", arr[index]); return 0; }
همچین سینتکسی داخل سی نداریم
سی مثل پایتون نیست
-1 نشون دهنده خونه آخر ارایه نیست
Kernel Kudos
#include <stdio.h> int main() { int arr[5] = {1, 2, 3, 4, 5}; int *ptr = arr; for (int i = 0; i <= 5; i++) { printf("%d ", *(ptr + i)); } return 0; }
داخل این کد هم درواقع for یدونه اضافه تر حرکت میکنه و ما مقدار خونه بعدی حافظه رو عوض میکنیم...
و این امنیت نداره
دوستانی که تازه جوین چنل شدن میتونن از ویدیوی اول دوره هارو شروع کنن
چه روی یوتیوب چه همینجا
موفق باشیید ☕️🪐
🔥5👍1
https://parchlinux.com
Secure, Light, Pretty, Open-Source, Arch-based Linux distribution 👾🪐
👎32🔥1
احتمالا اسم و لوگوی کانال جفتش تغییر میکنه
فعلا دارم بهش فکر میکنم
👍2
به نظرتون BitWave به عنوان اسم جدید و نهایی کانال گزینه خوبیه ؟ 🫧
Anonymous Poll
44%
آره
56%
نه