https://github.com/jeffotoni/c-char
Small examples to understand how char type works in C
https://github.com/jeffotoni/c-char
c c-example-code c-language c-programming
Last synced: 2 months ago
JSON representation
Small examples to understand how char type works in C
- Host: GitHub
- URL: https://github.com/jeffotoni/c-char
- Owner: jeffotoni
- Created: 2017-07-24T22:15:45.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-10-30T18:57:39.000Z (over 7 years ago)
- Last Synced: 2025-02-10T03:29:19.558Z (4 months ago)
- Topics: c, c-example-code, c-language, c-programming
- Language: C
- Size: 10.7 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# c-char
Small examples to understand how char type works in C```c
/**
*
* @author @jeffotoni
* @copyright Copyright (c) 2017
*
* Different ways to declare a string using char
*
*/#include
#include
#include/**
*
* Defining typedef of type char as vector
*
*/
typedef char string[];/**
*
* Defining typedef of char type as vector pointer
*
*/
typedef char *string2[];/**
*
* Defining typedef of type char as pointer
*
*/
typedef char *string3;/**
*
* Main function
*
*/
int main(){
/**
*
* Defining a pointer with char and assigning a value
*
*/
char *stringx = "Avocado is delicious.";/**
*
* Defining a char pointer statically
*
*/
char *fstring[0];/**
*
* Knowing the size of the char
*
*/
int size = strlen(stringx) + 1;/**
*
* Our first example using pointer char
*
*/
fstring[0] = (char*) malloc(size * sizeof(char));/**
*
* Copying content stringx to fstring
*
*/
strcpy(fstring[0], stringx);
/**
*
* Showing the result
*
*/
printf("\nfstring: %s\n", fstring[0]);
/**
*
* Second example
*
*/
char stringy[strlen(stringx)];/**
*
* Copying content stringx to fstring
*
*/
strcpy(stringy, stringx);/**
*
* Showing the result stringy
*
*/
printf("\nstringy: %s\n", stringy);/**
*
* Declaring a vector
*
*/
char *fstringx[] = {};/**
*
* Allocating memory for the vect
*
*/
fstringx[0] = (char*) malloc(size * sizeof(char));/**
*
* Copying content stringx to fstring
*
*/
strcpy(fstringx[0], stringx);/**
*
* Showing the result stringy
*
*/
printf("\nfstringx: %s\n", fstringx[0]);
/**
*
* Declaring a vector pointer to pointer
*
*/
// char **fstringy[] = {};/**
*
* Declaring a string
*
*/
string String = "jefferson name complete";/**
*
* Declaring a string {}
*
*/
string2 String2 = {"jefferson something", "something there"};/**
*
* Declaring a array
*
*/
char **array = (char**) malloc((10+1)*sizeof(char*));/**
*
* Assigning values in our array
*
*/
array[0] = "fluffy";
array[1] = "small";
array[2] = "bunny";
array[3] = 0;/**
*
* Declaring a y int
*
*/
int y[2][3] = { {10,20,30}, {100,200,300} };/**
*
* Declaring a x char
*
*/
char x[2][3] = {"jef","ola"};
/**
*
* Declaring pointer c
*
*/
char* c[] = {"jef","ola","sel"};/**
*
* Declaring vect work
*
*/
char work[] = {"I work here"};/**
*
* Declaring vect work2
*
*/
char work2[] = {'A','B','C'};
/**
*
* Declaring pointer vect strings
*
*/
char* strings[3];strings[0] = "foo";
strings[1] = "bar";
strings[2] = "baz";
strings[3] = "jef";
strings[4] = "je2";
/**
*
* Declaring a1
*
*/
char a1[][14] = { "Hello", "folks" };
/**
*
* Declaring a2
*
*/
char* a2[] = { "Hello", "guys" };/**
*
* Declaring a3
*
*/
char (*a3[])[] = { &"Guys", &"People" };
printf("\n[%s] [%s]\n",a1[0], a1[1]);
printf("\n[%s] [%s]\n",a2[0], a2[1]);
printf("\n[%s] [%s]\n", *a3[0], *a3[1]);
}
```# Compiling
```c
$ gcc char.c -o char```