Sunday, July 14, 2019

சி மொழியில் ஸ்ட்ரிங்க்-பகுதி-1



சி மொழியில் கேரக்டர் டேட்டா டைப் வேரியபிளில் ஒரே ஒரு கேரக்டர் மட்டுமே ஸ்டோர் செய்ய இயலும். ஒரு வார்த்தை அல்லது ஒன்றுக்கு மேற்பட்ட கேரக்டர் ஸ்டோர் செய்ய நாம் கேர் அர்ரேயை உபயோகிக்கலாம்.
Char name[]={‘M’,’U’,T’,’H’,’U’,’\0’};
ஒவ்வொரு கேரக்டரும் ஒரு பைட் மெமரி எடுத்துக் கொள்ளும்.ஒரு ஸ்டிரிங்கின் முடிவில் ‘\0’ என்ற NULL கேரக்டர் இருக்கும்.இது பார்ப்பதற்கு இரண்டு கேரக்டர் போல் தோன்றினாலும் இது ஒரு கேரக்டர் தான் இது ஒரு ஸ்டிரிங்கின் முடிவைக் குறிக்கும்.
Char name[]=”karthikeyan”;
மேலே உள்ள அறிவிப்பில் ‘\0’ தேவையில்லை. தானாக முடிவில் ஒரு ‘\0’ சேர்த்துக் கொள்ளும்.
video:
 
சான்று நிரல்-1
#include <stdio.h>
int main()
{
    char name[]="karthikeyan";
    int i=0;
    while(name[i]!='\0')
    {
        printf("%c",name[i]);
        i++;
    }
    return 0;
}
மேலே உள்ள மாதிரி நிரலில்  name என்ற அர்ரேயில் கடைசியாக உள்ள நல் கேரக்டர் வரை while loop இயங்கும். ஒவ்வொரு இட்டரேசனிலும் ஒவ்வொரு கேரக்டர் பிரிண்ட் ஆகும்.
வெளியீடு:
Karthikeyan.
பின் வரும். நிரலில் உள்ள படியும் ஒரு ஸ்டிரிங்கை ப்ரிண்ட் செய்யலாம்.
சான்று நிரல்-2
#include <stdio.h>
int main()
{
    char name[]="karthikeyan";
    printf("%s",name);

    return 0;
}
வெளியீடு:
Karthikeyan.
மேலே உள்ள நிரலில் %s என்ற ஃபார்மட் ஸ்பெசிபயர் இது கேரக்டர் அர்ரே என்பதைக் குறிக்கும்.
சான்று நிரல்-3.

#include <stdio.h>
int main()
{
    char name[20];
    printf("Enter your name");
    scanf("%s",name);
    printf("hello %s",name);
      
       return 0;
}
வெளியீடு:
Enter your name:muthu karthikeyan
Hello muthu.
மேலே உள்ள நிரலில் scanf என்ற ஃபங்க்சன் உபயோகித்து இன்புட் வாங்கியுள்ளோம்.  ஸ்டிரிங்க் இன்புட் வாங்குவதற்கு  scanf ஃபங்க்சனில் வேரியபில் முன் & சிம்பல் தேவையில்லை.
ஆனால் வெளியீட்டை கவனியுங்கள்:
இன்புட்டாக muthu karthikeyan என்று இரு வார்த்தைகள் கொடுத்துள்ளோம் ஆனால் அவுட்புட்டில் hello muthu என்று தான் வந்துள்ளது.
Scanf கொண்டு இன்புட் வாங்கும் பொழுது ஒரே ஒரு வார்த்தையட் தான் ஒரு ஸ்டிரிங்க் வேரியபிளுக்கு இன்புட் வாங்க இயலும்.
ஒன்றுக்கு மேற்பட்ட வார்த்தைகள் இன்புட் வாங்குவதற்கு gets ஃபங்க்சன் உபயோகிக்கலாம்.
#include <stdio.h>
int main()
{
   char name[30];
   printf("Enter your name");
   gets(name);
   puts("hi");
   puts(name);

    return 0;
}
வெளியீடு:
Enter your name Muthu karthikeyan
Hi
Muthu karthikeyan
Gets, puts ஃபங்க்சன்கள் முறையே ஃஸ்டிரிங்க் இன்புட், அவட்புட் செய்வதற்கு பயன்படுகின்றது. இவற்றில் %s என்ற ஃபார்மட் ஸ்பெசிஃபையர் உபயோகிக்க தேவையில்லை.
-தொடரும்
முத்து கார்த்திகேயன்,மதுரை.
 மதுரையில் ப்ரோமிங்க் குறித்து படிப்பதற்கு பின் வரும் எண்ணை தொடர்பு கொள்ளவும்.
91 96293 29142

ads Udanz

No comments:

Post a Comment