Advance-C/C2/Union-and-Typedef/Kannada

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:01 Typedef and Union in C (ಟೈಪ್ ಡೆಫ್ ಎಂಡ್ ಯೂನಿಯನ್ ಇನ್ ಸಿ) ಎಂಬ Spoken Tutorialಗೆ ನಿಮಗೆ ಸ್ವಾಗತ.
00:07 ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ, ನಾವು:

typedef (ಟೈಪ್ ಡೆಫ್) ಎಂಬ ಕೀವರ್ಡ್ union' ಎಂಬ ಕೀವರ್ಡ ಗಳನ್ನು ಕೆಲವು ಉದಾಹರಣೆಗಳ ಸಹಾಯದಿಂದ ಕಲಿಯುವೆವು.

00:17 ಈ ಟ್ಯುಟೋರಿಯಲ್ ಗಾಗಿ, ನಾನು:

Ubuntu Operating System ನ ಆವೃತ್ತಿ 11.10 ಹಾಗೂ gcc compiler4.6.1 ನೇ ಆವೃತ್ತಿಗಳನ್ನು ಬಳಸುತ್ತಿದ್ದೇನೆ.

00:29 ಈ ಟ್ಯುಟೋರಿಯಲ್ ಅನ್ನು ಅನುಸರಿಸಲು, ನೀವು C ಟ್ಯುಟೋರಿಯಲ್ ಗಳನ್ನು ಚೆನ್ನಾಗಿ ತಿಳಿದಿರಬೇಕು.
00:36 ಇಲ್ಲದಿದ್ದರೆ, ಸಂಬಂಧಿತ ಟ್ಯುಟೋರಿಯಲ್ ಗಳಿಗಾಗಿ, ದಯವಿಟ್ಟು ಕೆಳಗೆ ತೋರಿಸಿದ ನಮ್ಮ ವೆಬ್ಸೈಟ್ ಗೆ ಭೆಟ್ಟಿಕೊಡಿ.
00:43 ನಾನು typedef ಎಂಬ ಕೀವರ್ಡ್ ನ ಪರಿಚಯದೊಂದಿಗೆ ಆರಂಭಿಸುವೆನು.
00:49 ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ 'ಟೈಪ್'ಗೆ ಅಥವಾ 'ಯೂಸರ್-ಡಿಫೈನ್ಡ್ ಡೇಟಾಟೈಪ್ 'ಗಳಿಗೆ ಸಾಂಕೇತಿಕ ಹೆಸರನ್ನು ಕೊಡಲು, typedef ಎಂಬ ಕೀವರ್ಡ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.
00:58 ಇದು, ಕಮಾಂಡ್ ಗಳಿಗೆ ಅಲಿಯಾಸ್ ಅನ್ನು ಡಿಫೈನ್ ಮಾಡುವ ಒಂದು ರೀತಿಯಾಗಿದೆ.
01:03 ಕೋಡ್ ಗೆ ಸ್ಪಷ್ಟತೆಯನ್ನು ಒದಗಿಸಲು ಇದು ಸಹಾಯಮಾಡುತ್ತದೆ.
01:07 ಇದು, ಕೋಡ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಮತ್ತು ಬದಲಾಯಿಸಲು ಸುಲಭವಾಗುವಂತೆ ಮಾಡುತ್ತದೆ.
01:12 ಸಿಂಟ್ಯಾಕ್ಸ್: typedef existing_name alias_name. ಉದಾ: typedef unsigned int uint;

(ಟೈಪ್ ಡೆಫ್ ಎಗ್ಸಿಸ್ಟಿಂಗ್ ನೇಮ್ ಅಲಿಯಾಸ್ ನೇಮ್) (ಟೈಪ್ ಡೆಫ್ ಅನ್ಸೈಂಡ್ ಇಂಟ್ ಯು ಇಂಟ್)

01:24 ನಾವು ಒಂದು ಉದಾಹರಣೆಯ ಕೋಡ್ ಅನ್ನು ನೋಡೋಣ.
01:28 ನಮ್ಮ ಫೈಲ್ ನ ಹೆಸರು pallindrome.c (ಪಾಲಿಂಡ್ರೋಮ್ ಡಾಟ್ ಸೀ) ಎಂದು ಇರುವುದನ್ನು ಗಮನಿಸಿ.
01:34 ಈ ಪ್ರೊಗ್ರಾಂನಲ್ಲಿ, ಕೊಟ್ಟ ಸಂಖ್ಯೆಯು 'ಪ್ಯಾಲಿಂಡ್ರೋಮ್' (palindrome) ಆಗಿದೆಯೋ ಇಲ್ಲವೋ ಎಂಬುದನ್ನು ನಾವು ಪರೀಕ್ಷೆ ಮಾಡುವೆವು.
01:41 ನಾವು 'typedef' ಕೀವರ್ಡ್ ಅನ್ನು ಬಳಸಿ, unsigned int datatype'ಗೆ 'uint (ಯು ಇಂಟ್) ಎಂಬ ಅಲಿಯಾಸ್ ಹೆಸರನ್ನು ಕೊಟ್ಟಿದ್ದೇವೆ.
01:52 ಇಲ್ಲಿ, ನಾವು ವೇರಿಯೆಬಲ್ ಗಳನ್ನು ಡಿಕ್ಲೇರ್ ಮಾಡಲು uint (ಯು ಇಂಟ್) ಅನ್ನು ಬಳಸುತ್ತಿದ್ದೇವೆ.
01:59 ಇದು 'ಪ್ಯಾಲಿಂಡ್ರೋಮ್' ಗಾಗಿ ಲಾಜಿಕ್ (ತರ್ಕ) ಆಗಿದೆ.
02:03 ಈಗ, ನಾವು ಪ್ರೊಗ್ರಾಂಅನ್ನು ಎಕ್ಸಿಕ್ಯೂಟ್ ಮಾಡೋಣ.
02:06 ನಿಮ್ಮ ಕೀಬೋರ್ಡ್ ಮೇಲೆ Ctrl+Alt+T ಕೀಗಳನ್ನು ಒಟ್ಟಿಗೇ ಒತ್ತಿ ಟರ್ಮಿನಲ್ ಅನ್ನು ಓಪನ್ ಮಾಡಿ.
02:16 ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ: gcc space palindrome (ಪಾಲಿಂಡ್ರೋಮ್) dot c space hyphen o space pallindrome. Enter ಅನ್ನು ಒತ್ತಿ.
02:29 ಟೈಪ್ ಮಾಡಿ: 'dot slash pallindrome
02:34 ನಾವು, “Enter any three digit number” ಎಂಬುದನ್ನು ನೋಡುತ್ತೇವೆ.
02:38 ನಾನು '121' ಅನ್ನು ಎಂಟರ್ ಮಾಡುತ್ತೇನೆ.
02:42 ಔಟ್ಪುಟ್ ಹೀಗೆ ಇದೆ: “Given number is a palindrome number”.
02:47 ಈಗ ನಾವು 'union' ಎಂಬ ಡೇಟಾಟೈಪ್ ಬಗ್ಗೆ ತಿಳಿಯೋಣ.
02:52 'Union', ಒಟ್ಟಿಗೆ ಗುಂಪುಮಾಡಿದ ವಿಭಿನ್ನ ಡೇಟಾಟೈಪ್ ಗಳ ಸಂಗ್ರಹವಾಗಿದೆ.
02:57 'Union', ಒಂದು ಸಾಮಾನ್ಯ ’ಸ್ಟೋರೇಜ್ ಸ್ಪೇಸ್’ಅನ್ನು ತನ್ನ ಎಲ್ಲ ಸದಸ್ಯರಿಗಾಗಿ ಮೀಸಲಿಡುತ್ತದೆ.
03:03 ಒಂದು ಸಲಕ್ಕೆ ನಾವು ’ಯೂನಿಯನ್’ ನ ಒಂದೇ ಮೆಂಬರ್ ಅನ್ನು ಆಕ್ಸೆಸ್ ಮಾಡಲು ಸಾಧ್ಯವಿದೆ.
03:08 ಸಿಂಟ್ಯಾಕ್ಸ್1:

'union union_name' ಕರ್ಲಿ ಬ್ರಾಕೆಟ್ ಗಳಲ್ಲಿ 'members;' ಕರ್ಲಿ ಬ್ರಾಕೆಟ್ ಗಳ ನಂತರ 'union_variable' ಮತ್ತು ಒಂದು ಸೆಮಿಕೋಲನ್.

03:21 ನಾವು ಪರ್ಯಾಯವಾದ ಇನ್ನೊಂದು ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಸಹ ಪಡೆದಿದ್ದೇವೆ. ಸಿಂಟ್ಯಾಕ್ಸ್ 2:

union union_name ಕರ್ಲಿ ಬ್ರಾಕೆಟ್ ಗಳಲ್ಲಿ members; ಕರ್ಲಿ ಬ್ರಾಕೆಟ್ ಗಳ ನಂತರ ಸೆಮಿಕೋಲನ್ union union_name union_variable;

03:39 ನಾವು ಒಂದು ಉದಾಹರಣೆಯನ್ನು ನೋಡೋಣ.
03:41 ನನ್ನ ಹತ್ತಿರ ಒಂದು ಕೋಡ್ ಫೈಲ್ ಇದೆ; ನಾವು ಇದನ್ನು ತಿಳಿದುಕೊಳ್ಳೋಣ.
03:47 ನಮ್ಮ ಫೈಲ್ ನ ಹೆಸರು “union dot c” ಎಂದು ಇರುವುದನ್ನು ಗಮನಿಸಿ.
03:52 ನಾವು student ಎಂಬ ಹೆಸರಿನ unionಅನ್ನು ಡಿಕ್ಲೇರ್ ಮಾಡಿದ್ದೇವೆ.
03:56 ಇಲ್ಲಿ, ಮೂರು ವೇರಿಯೇಬಲ್ ಗಳಿವೆ- english, maths ಮತ್ತು science.
04:02 'main()' ಫಂಕ್ಷನ್ ನಲ್ಲಿ, ನಾವು 'stud' (ಸ್ಟುಡ್) ಎಂಬ ಒಂದು 'union' ವೇರಿಯೇಬಲ್ ಅನ್ನು ಡಿಕ್ಲೇರ್ ಮಾಡಿದ್ದೇವೆ.
04:09 ಇಲ್ಲಿ, ನಾವು ಒಂದು 'union' ವೇರಿಯೇಬಲ್ ಅನ್ನು ಬಳಸಿ, 'union' ಮೆಂಬರ್ ಗಳನ್ನು ಹೀಗೆ ಆಕ್ಸೆಸ್ ಮಾಡಬಹುದು:

'stud dot english' 'stud dot maths' 'stud dot science'.

04:21 ನಂತರ ನಾವು ಒಟ್ಟು ಅಂಕಗಳನ್ನು ಲೆಕ್ಕ ಮಾಡುತ್ತೇವೆ ಮತ್ತು ಅದನ್ನು ತೋರಿಸುತ್ತೇವೆ.
04:26 ನಾವು ಎಕ್ಸಿಕ್ಯೂಟ್ ಮಾಡೋಣ. ಟರ್ಮಿನಲ್ ನ ಮೇಲೆ ಹೀಗೆ ಟೈಪ್ ಮಾಡಿ: 'gcc space union dot c space hyphen o space union'

ಟೈಪ್ ಮಾಡಿ: 'dot slash union'

04:44 ಔಟ್ಪುಟ್ ಹೀಗೆ ತೋರಿಸಲ್ಪಡುತ್ತದೆ: “Total is 228”.
04:50 'ಸ್ಟ್ರಕ್ಚರ್' (structure) ಮತ್ತು'ಯೂನಿಯನ್' (union) ಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ನಾವು ನೋಡೋಣ.
04:55 'ಯೂನಿಯನ್', ತನ್ನ ಎಲ್ಲ ಮೆಂಬರ್ ಗಳಿಗಾಗಿ, ಒಂದು ಸಾಮಾನ್ಯ 'ಸ್ಟೋರೇಜ್-ಸ್ಪೇಸ್' ಅನ್ನು ಮೀಸಲಾಗಿಡುತ್ತದೆ.
05:01 'ಸ್ಟ್ರಕ್ಚರ್', ತನ್ನ ಎಲ್ಲ ಮೆಂಬರ್ ಗಳಿಗಾಗಿ, ಪ್ರತ್ಯೇಕವಾದ 'ಸ್ಟೋರೇಜ್-ಸ್ಪೇಸ್' ಅನ್ನು ಮೀಸಲಾಗಿಡುತ್ತದೆ.
05:07 'ಯೂನಿಯನ್', 'ಲೋವರ್ ಮೆಮರಿ ಸ್ಪೇಸ್'ನಲ್ಲಿ ಇರುತ್ತದೆ.
05:11 'ಸ್ಟ್ರಕ್ಚರ್', 'ಹೈಯರ್ ಮೆಮರಿ ಸ್ಪೇಸ್'ನಲ್ಲಿ ಇರುತ್ತದೆ.
05:14 'ಯೂನಿಯನ್' ನ ಉದಾಹರಣೆ:

'union student{int marks;char name[6];double average;};' (ಯೂನಿಯನ್ ಸ್ಟುಡೆಂಟ್, ಇಂಟ್ ಮಾರ್ಕ್ಸ್, ಕ್ಯಾರ್ ನೇಮ್, ಸಿಕ್ಸ್, ಡಬಲ್ ಆವರೇಜ್)

05:27 ’ಡಬಲ್ ಡೇಟಾಟೈಪ್’, ಗರಿಷ್ಠ ಮೆಮರಿ ಸ್ಪೇಸ್ ಅನ್ನು ಆಕ್ರಮಿಸುವುದರಿಂದ 'ಯೂನಿಯನ್' ವೇರಿಯೇಬಲ್ ಗಾಗಿ 'ಮೆಮರಿ ಅಲೋಕೇಶನ್', '8 ಬೈಟ್ಸ್' ಆಗುವುದು.
05:39 'ಸ್ಟ್ರಕ್ಚರ್' ನ ಉದಾಹರಣೆ:

'struct student{int mark;char name[6];double average;};' (ಸ್ಟ್ರಕ್ ಸ್ಟುಡೆಂಟ್, ಇಂಟ್ ಮಾರ್ಕ್ಸ್, ಕ್ಯಾರ್ ನೇಮ್, ಸಿಕ್ಸ್, ಡಬಲ್ ಆವರೇಜ್)

05:48 'ಸ್ಟ್ರಕ್ಚರ್' ವೇರಿಯೇಬಲ್ ಗಾಗಿ 'ಮೆಮರಿ ಅಲೋಕೇಶನ್' ಹೀಗಿದೆ: '2bytes+6bytes+8bytes =16bytes'.
06:00 ಇಲ್ಲಿಗೆ, ನಾವು ಈ ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್ ನ ಕೊನೆಗೆ ಬಂದಿರುತ್ತೇವೆ.
06:04 ಸಂಕ್ಷಿಪ್ತವಾಗಿ,
06:06 ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ, ನಾವು:

'typedef' 'union' 'union' ಮತ್ತು 'structure' ಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸ ಇವುಗಳನ್ನು ಕಲಿತಿದ್ದೇವೆ.

06:14 ಒಂದು ಅಸೈನ್ಮೆಂಟ್-
06:17 ಒಂದು ’ಎಂಪ್ಲಾಯೀ’ಯ (employee) 'name, address, salary' (ನೇಮ್, ಅಡ್ರೆಸ್, ಸ್ಯಾಲರಿ) ಗಳಂತಹ
06:21 ರೆಕಾರ್ಡ್ ಗಳನ್ನು ತೋರಿಸಲು ಒಂದು ಪ್ರೊಗ್ರಾಂಅನ್ನು ಬರೆಯಿರಿ.
06:25 employee ಎಂಬ ಒಂದು union ಅನ್ನು ಡಿಫೈನ್ ಮಾಡಿ.
06:29 typedefಅನ್ನು ಬಳಸಿ, emp ಎಂಬ ಅಲಿಯಾಸ್ ಹೆಸರನ್ನು ಕೊಡಿ.
06:35 ಈ ಕೆಳಗಿನ ಲಿಂಕ್ ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ವೀಡಿಯೋವನ್ನು ವೀಕ್ಷಿಸಿ.
06:39 ಇದು “ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್” ಪ್ರಕಲ್ಪದ ಸಾರಾಂಶವಾಗಿದೆ.
06:42 ನಿಮಗೆ ಒಳ್ಳೆಯ ‘ಬ್ಯಾಂಡ್ವಿಡ್ತ್’ ಸಿಗದಿದ್ದರೆ, ನೀವು ಇದನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ ನೋಡಬಹುದು.
06:47 “ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್” ಪ್ರಕಲ್ಪದ ತಂಡವು: * ‘ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್’ಗಳನ್ನು ಬಳಸಿ ಕಾರ್ಯಶಾಲೆಗಳನ್ನು ನಡೆಸುತ್ತದೆ.
06:53 ಆನ್-ಲೈನ್ ಪರೀಕ್ಷೆಯಲ್ಲಿ ಉತ್ತೀರ್ಣರಾದವರಿಗೆ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಕೊಡುತ್ತದೆ.

ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ದಯವಿಟ್ಟು ಈ ಲಿಂಕ್ ಗೆ ಬರೆಯಿರಿ. contact@spoken-tutorial.org

07:04 "ಸ್ಪೋಕನ್ ಟ್ಯುಟೋರಿಯಲ್” ಪ್ರಕಲ್ಪವು “ಟಾಕ್ ಟು ಎ ಟೀಚರ್” ಪ್ರಕಲ್ಪದ ಒಂದು ಭಾಗವಾಗಿದೆ.
07:08 ಇದು ICT, MHRD ಮೂಲಕ ರಾಷ್ಟ್ರೀಯ ಸಾಕ್ಷರತಾ ಮಿಷನ್, ಭಾರತ ಸರ್ಕಾರದ ಆಧಾರವನ್ನು ಪಡೆದಿದೆ.
07:16 ಈ ಮಿಷನ್ ನ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಯು ಕೆಳಗೆ ತೋರಿಸಿದ ಲಿಂಕ್ ನಲ್ಲಿ ಲಭ್ಯವಿರುತ್ತದೆ.http://spoken-tutorial.org\NMEICT-Intro
07:22 IIT Bombay ಯಿಂದ, ಸ್ಕ್ರಿಪ್ಟ್ ನ ಅನುವಾದಕಿ ಸಂಧ್ಯಾ ಪುಣೇಕರ್ ಹಾಗೂ ಪ್ರವಾಚಕ ವಾಸುದೇವ .ವಂದನೆಗಳು.

Contributors and Content Editors

Pratik kamble, Sandhya.np14, Vasudeva ahitanal